当前位置: 首页 > news >正文

工具站seo网站建设初期的工作计划

工具站seo,网站建设初期的工作计划,网站建设要后台吗,wordpress小程序推荐所谓的Spring MVC程序开发#xff0c;其实也是一个Spring Boot项目。 MVC是Model View Controller的缩写#xff0c;它是软件工程中的一种软件架构模式#xff0c;它把软件系统分为模型#xff0c;视图#xff0c;控制器三个部分。 项目使用什么技术实现的#xff1f;其实也是一个Spring Boot项目。 MVC是Model View Controller的缩写它是软件工程中的一种软件架构模式它把软件系统分为模型视图控制器三个部分。 项目使用什么技术实现的 SSM项目 Spring Spring MVC Mybatis中期 Spring Boot Spring webSpring MVC Mybatis现在 SM项目 Spring BootSpring web Mybatis现在 Spring MVC是一个Web框架Spring MVC是基于Servlet API构建的 MVC和Spring MVC的关系 MVC是一种思想而Spring MVC是对MVC思想的具体实现。 总结来说Spring MVC是一个实现MVC模式并继承了Servlet API的Web框架既然是Web框架那么当用户在浏览器输入url之后我们的Spring MVC项目就可以感知到用户的请求。 现在绝大部分Java项目都是基于Spring或者Spring Boot的而Spring的核心就是Spring MVC。 Spring MVC是Spring框架的核心模块Spring Boot是Spring的脚手架 怎么学Spring MVC 学习Spring MVC我们只需要掌握以下3个功能 连接的功能将用户浏览器和Java程序连接起来也就是访问一个地址能够调用到我们的Spring程序。获取参数的功能用户访问的时候会带一些参数在程序中要想办法获取到。输出数据的功能执行了业务逻辑之后要把程序执行的结果返回给用户。 对于Spring MVC来说掌握了以上3个功能就相当于掌握了Spring MVC。 创建Spring MVC项目 在2018年之前使用Maven项目添加Spring MVC框架的方式来进行创建复杂太麻烦现在我们来使用Spring Boot来创建Spring MVC项目 创建的时候选择lombokSpring Web可添加Spring MVC框架Spring Boot DevTools热部署。 RestController //RestController ResponseBody Controller //通过注解 public class UserController {RequestMapping(/say) //一级路由可设置多级路由public String sayHi(){return hi Spring MVC;} } 在上述代码中我们使用了   RequestMapping(/say)该注解支持GET,POST,PUT,DELETE等请求。 如下述仅支持POST类请求的代码 RequestMapping(Value /sayhi, method RequestMethod.POST)//这两个都可表示仅仅支持POST类请求PostMapper(/sayHello)public String sayHello() {return hello Spring MVC ;} 如下述仅支持GET类请求的代码 GetMapper(/hi)public String sayHello() {return hi Spring MVC ;} 获取参数 获取一个参数 RestController public class UserController {RequestMapping(/sayHi)public String sayHi(String name){return hi name;}} 参数传递建议不要使用基础数据类型容易报错建议使用包装类 在浏览器输入localhost:8080/sayHi?namezhangsan注意参数名name一定要相同否则会出错 获取多个参数 具体代码可参考获取一个参数的代码 RestController public class UserController {RequestMapping(/sayHi)public String sayHi(String name,String password){return hi name password;}} 在浏览器输入localhost:8080/sayHi?namezhangsanpassword123456 获取对象 首先我们来自定义一个对象吧 Data //Data丰富java自动资源管理自动生成getter、setter、equals、hashCode和toString等 public class Userinfo {private int id;private String name;private String password;private int age; } 获取参数代码 RestController public class UserController {RequestMapping(/reg)public Object reg(Userinfo userinfo){ //框架会实现自动的参数映射System.out.println(userinfo);return userinfo;}} 在浏览器输入localhost:8080/reg?namezhangsanpassword123456id1age18框架会实现自动的参数映射 当然也可以获取一个HTML标签 获取一个HTML标签 RestController public class UserController {RequestMapping(/he)public Object getHe(){return h1我是HTML中H1标签/h1;//HTML的标签}} 在浏览器中输入localhost:8080/he 后端参数重命名 RestController public class UserController {RequestMapping(/reg2)public Object reg(RequestParam(username)String name,String password){//将前端传递来的名称username改为name(后端)//必传参数usernamereturn name password;}} 在上述代码中 前端传递的参数username必传参数 后端使用的参数name 意思是将前端传递来的参数username被后端更改为name 在浏览器中输入localhost:8080/reg2?usernamezhangsanpassword123456 在上述代码中username属于必传参数当然也可以变为非必传参数如果不传的话默认为null RestController public class UserController {RequestMapping(/reg2)public Object reg(RequestParam(value username,required false)String name,String password){//将前端传递来的名称username改为name(后端)//必传参数usernamereturn name password;}} 在浏览器中输入localhost:8080/reg2?password123456 获取JSON对象 在这个操作中我们来借助Postman来进行操作 RestController public class UserController {RequestMapping(/reg3)public Object reg3(RequestBody Userinfo userinfo){return userinfo;} } 在Postman中我们通过Body——》raw——》JSON——》设置参数——》sign来进行操作 所设置的参数为 {id:1,name:zhangsan,password:123456,age:18} 运行程序并点击sign后端的相应为 从基础URL中获取参数 从基础URL中获取参数不是URL的参数部分的参数 RestController public class UserController {RequestMapping(/reg4/{name}/{password})public Object reg4(PathVariable String name,PathVariable(password)String password){return name name | password password;}}在浏览器中输入localhost:8080/reg4/zhangsan/123456顺序需要一一对应 当然对于上述的必需参数也可以更改为非必须参数 RestController public class UserController {RequestMapping(/reg4/{name}/{password})public Object reg4(PathVariable String name,PathVariable(required false,name password)String password){return name name | password password;}} 那么我们来看一下注解PathVariable和注解RequestParm吧 注解PathVariable基础URL里面的参数之前的参数注解RequestParmURL参数部分的参数之后的参数 http://localhost:8080/reg4?namezhangsanpassword123456 获取上传图片 RestController public class UserController {RequestMapping(myupload)public Object upload(RequestPart(mying)MultipartFile file){//RequestPart(mying)拿到请求的文件赋值给MultipartFile fileFile saveFilenew File(D:\\Data\\mying.png);//D:\Data\mying.png想要将请求的文件上传到的路径//mying.png上传后的文件名try {file.transferTo(saveFile);return true;//上传成功} catch (IOException e) {e.printStackTrace();}return false;//上传失败}} 本次也通过Postman来进行操作: Bobyform-datamying右侧选择filemying.png 当然在这个过程中我们需要注意图片的大小太大就容易上传失败可以在配置文件中自行设置图片的最大范围 spring.servlet.multipart.max-file-size100MB spring.servlet.multipart.max-request-size100MB 最后的结果为 那么接下来又有个问题 后面再次上传的图片会覆盖前面的图片名称为mying.png 因此我们可以在获得的原文件名的后缀带有一个独一无二的UUID那么这个问题不就解决了吗 String fileName UUID.randomUUID() //文件名file.getOriginalFilename().substring( //源文件进行分割file.getOriginalFilename().lastIndexOf(.)); //添加后缀File saveFilenew File(D:\\Data\\fileName); 通过上述的代码即可。 因此总的代码为 RestController public class UserController {RequestMapping(myupload)public Object upload(RequestPart(mying)MultipartFile file){//RequestPart(mying)拿到请求的文件赋值给MultipartFile fileString fileName UUID.randomUUID() //文件名file.getOriginalFilename().substring( //源文件进行分割file.getOriginalFilename().lastIndexOf(.)); //添加后缀File saveFilenew File(D:\\Data\\fileName);// File saveFilenew File(D:\\Data\\mying.png);//D:\Data\mying.png想要将请求的文件上传到的路径//mying.png上传后的文件名try {file.transferTo(saveFile);return true;//上传成功} catch (IOException e) {e.printStackTrace();}return false;//上传失败}} 当我们重新运行程序再次上传图片的时候 因此这样才能多次获取新的图片并且每次都能成功的保存下来 获取Cookie 1.获取单个Cookie RestController public class UserController {RequestMapping(/getck) //获取名称为java的Cookie并赋值给javapublic Object getCk(CookieValue(value java,required false)String java){return java;} }2.获取所有Cookie RestController public class UserController {RequestMapping(/getck)public String getCk(HttpServletResponse response,HttpServletRequest request){String namerequest.getParameter(name);//获取所有Cookie信息Cookie[] cookiesrequest.getCookies();return name 你好 ;} } 获取Header中的某个信息 RestController public class UserController {RequestMapping(/gethd)public Object getHeader(RequestHeader(User-Agent)String ua){return header---- ua;}}在浏览器中输入http://localhost:8080/gethd 运行结果为 获取Session 在获取Session之前一定要进行存储Session才能进行获取存Session没有捷径可走不能通过注解的方式实现。 什么时候才会有Session的存储只有当用户的用户名和密码都正确的情况下才会存储Session。 在Servlet阶段如何存储Session那么在现阶段也是如何存储Session的 RestController public class UserController {//定义全局变量private static final String SESSION_KEYUSERINFO_SESSION;//存储SessionRequestMapping(/setsess)public void setSess(HttpServletRequest request){HttpSession sessionrequest.getSession();session.setAttribute(SESSION_KEY,zhangsan);}//获取sessionRequestMapping(/getsess)public Object getSession(SessionAttribute(SESSION_KEY)String name){ //赋值给namereturn session name;}} 在浏览器中输入http://localhost:8080/getsess 返回数据 1.返回静态页面 Java后端代码 Controller RequestMapping(/test) public class TestController {RequestMapping(/index)public Object getIndex(){return /index.html; //静态页面VSCode //加个“/”斜杠表示从根路径取找index.html //如果不加斜杠则会404报错} }HTML静态页面代码 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head body h1 stylecolor: red我是 index.html/h1 /body /html在浏览器输入localhost:8080/test/index 请求转发和重定向 请求转发和重定向forward VS redirect return不但可以返回一个视图还可以实现跳转跳转的方式有两个 forward 请求转发redirect 请求重定向 Controller RequestMapping(/test) public class TestController {//请求转发RequestMapping(/fw)public String fw(){return forward:/index.html;}//浏览器输入localhost:8080/test/fw//请求重定向RequestMapping(/rd)public String rd(){return redirect:/index.html;}//浏览器输入localhost:8080/test/rd会跳转到localhost:8080/index.html//请求重定向到百度《——》另一种写法RequestMapping(/rd2)public void rd2(HttpServletResponse response) throws IOException{response.sendRedirect(https://www.baidu.com/);}//浏览器输入localhost:8080/test/rd2会跳转到百度} 浏览器输入localhost:8080/test/fw 浏览器输入localhost:8080/test/rd会跳转到localhost:8080/index.html 浏览器输入localhost:8080/test/rd2会跳转到百度 请求转发forward和请求重定向redirect的区别面试题 定义不同跳转方不同数据共享不同最终URL不同代码实现不同……………………
http://www.pierceye.com/news/473392/

相关文章:

  • 网站建设经费计划内容网站建设中存在的问题
  • 天凡建设股份有限公司网站苍山网站建设
  • 如何新建网站dw线下推广的渠道和方法
  • 网站友链wordpress火车头发布
  • 青海网站维护公司自己的网站叫什么
  • 微网站 淘宝客wordpress备案号放置
  • html5 手机网站 模版网站信息员队伍建设
  • 基金会网站开发方案政务公开网站建设重点
  • 影视网站制作网页游戏的软件
  • 企业做网站的费用如何科目青色网站欣赏
  • 做视频网站怎么赚钱的网站开发流程的三个部分
  • 牡丹江市建设行业协会网站广西住房城乡建设厅网站首页
  • 重庆网站关键词排名优化免费网页代理的推荐
  • 定制型网站怎么做重庆软件开发公司有哪些
  • 自适应型网站建设网站建设搭建是什么意思
  • 网站建设能够不同地方网址大全12345
  • 做网批那个网站好校园网站界面建设
  • 免费网站建设php济南网站建设公司官网
  • 徐汇网站推广网络营销的四个特点
  • 简易做网站wordpress插件tag
  • 红酒 公司 网站建设青岛安装建设股份公司网站
  • 小米路由hd 做网站营销型网站策划 建设的考试题
  • 运河网站制作自主建站平台
  • 万网 网站建设合同最好的网站开发语言
  • 网站备案密码收不到典当 网站
  • 东莞网站建设推广服务网站建设开票单位
  • 贵港公司做网站东莞凤岗企业网站建设推广
  • 网站制作过程中碰到的问题微信怎么做链接推广产品
  • 做网站留后门是怎么回事视频网站开发需求分析
  • 关于做网站的了解点电子商务应用平台包括哪些