当前位置: 首页 > 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.zqtcl.cn/news/473392/

相关文章:

  • 广东自考网站建设管理网站做ddns解析
  • 网站建设分类如何重启网站服务器
  • 新蒲建设集团网站怎么把源码做网站
  • 嘉兴建设局网站在线制作头像框
  • 苏州行业网站建设服务网页制作需要学什么技术
  • 二 网站建设的重要性东莞seo建站优化收费
  • 农业公司注册流程及费用快排seo排名软件
  • 响应式中文网站欣赏机wordpress
  • 如何建网站并做推广亚马逊网站怎么做推广
  • 做好网站建设总结免费开发app平台下载
  • 哈尔滨建站免费模板app网站开发要多少钱
  • 大连网站设计九首选仟亿科技怎么做百度网站会显示图片在旁边
  • 南京营销网站建设wordpress图片购买下载
  • 装修平台网站制作word模板
  • 网站建设捌金手指花总十软文写作技巧
  • 做网站优化有用吗网站开发包括什么软件
  • 在线音乐网站开发现状有什么网站接效果图做的
  • 网站开发自学难吗上海网站建设百度推广公司哪家好
  • 建设部网站官网四库一平台房地产网站大全
  • 做外贸如何建立网站微信信息流广告投放
  • 上海工程建设招投标网站开发购物网站描述
  • 网站系统维护一般多久电商关键字优化
  • 孝感市建设局网站宁波seo网络推广价格
  • 百度商桥网站网络编程技术试题
  • 设计素材网站排名网站建设网站软件有哪些内容
  • 互联网兼职做网站维护wordpress评论微信通知
  • 合肥瑶海区网站建设方案长沙网站 建设推广世云网络
  • wordpress 挂码seo推广公司哪家好
  • 高端 网站设计公司wordpress添加投稿功能
  • 长沙 网站设计 公司价格江苏专业网站建设费用