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

怎么做下载类的网站网站建设预算费用

怎么做下载类的网站,网站建设预算费用,建筑用塑料模板价格,可以免费发广告的网站目录 一、前后端分离开发与混合开发 1.1 混合开发模式 1.2 前后端分离模式【重点】 二、页面跳转控制 2.1 通过JSP实现页面跳转 2.2 转发与重定向 三、返回JSON数据 3.1 导包与配置 3.2 使用ResponseBody 四、返回静态资源 4.1 为什么无法直接查询静态资源 4.2 配置… 目录 一、前后端分离开发与混合开发 1.1 混合开发模式 1.2  前后端分离模式【重点】 二、页面跳转控制 2.1 通过JSP实现页面跳转 2.2 转发与重定向 三、返回JSON数据 3.1 导包与配置 3.2 使用ResponseBody 四、返回静态资源 4.1 为什么无法直接查询静态资源 4.2 配置实现静态资源查找 一、前后端分离开发与混合开发 一个项目的开发可以分为两种开发模式分别是前后端分离和混合开发。以下介绍两种开发模式的特点。 1.1 混合开发模式 指将前端和后端的代码集成在同一个项目中共享相同的技术栈和框架。这种模式在小型项目中比较常见可以减少学习成本和部署难度。但是在大型项目中这种模式会导致代码耦合性很高维护和升级难度较大。 对于混合开发我们就需要使用动态页面技术动态展示Java的共享域数据 1.2  前后端分离模式【重点】 指将前端的界面和后端的业务逻辑通过接口分离开发的一种方式。开发人员使用不同的技术栈和框架前端开发人员主要负责页面的呈现和用户交互后端开发人员主要负责业务逻辑和数据存储。前后端通信通过 API 接口完成数据格式一般使用 JSON 或 XML。前后端分离模式可以提高开发效率同时也有助于代码重用和维护。 二、页面跳转控制 这里页面跳转都是基于jsp技术。即混合开发模式下的应用。 2.1 通过JSP实现页面跳转 1.使用jsp技术需要导入以下依赖 !-- jsp需要依赖! jstl-- dependencygroupIdjakarta.servlet.jsp.jstl/groupIdartifactIdjakarta.servlet.jsp.jstl-api/artifactIdversion3.0.0/version /dependency 2.jsp页面创建 建议位置/WEB-INF/下避免外部直接访问 位置/WEB-INF/views/home.jsp % page contentTypetext/html;charsetUTF-8 languagejava % htmlheadtitleTitle/title/headbody!-- 可以获取共享域的数据,动态展示! jsp 后台vue --${data}/body /html 1.为什么/WEB-INF/能够实现避免外部访问 这种限制的实现是由 Java Web 容器比如 Tomcat、Jetty 等来完成的它们会拦截对 /WEB-INF/ 目录及其子目录的请求阻止这些内容被直接访问。这样做的目的是为了保护应用程序的安全性和完整性避免敏感信息和代码被非授权用户获取。 3. 快速响应模版页面 配置对应的mvc类 EnableWebMvc //json数据处理,必须使用此注解,因为他会加入json处理器 Configuration ComponentScan(basePackages com.atguigu.controller) //TODO: 进行controller扫描//WebMvcConfigurer springMvc进行组件配置的规范,配置组件,提供各种方法! 前期可以实现 public class SpringMvcConfig implements WebMvcConfigurer {//配置jsp对应的视图解析器Overridepublic void configureViewResolvers(ViewResolverRegistry registry) {//快速配置jsp模板语言对应的前缀和后缀registry.jsp(/WEB-INF/views/,.jsp);} } handler返回视图  /*** 跳转到提交文件页面 /save/jump* * 如果要返回jsp页面!* 1.方法返回值改成字符串类型* 2.返回逻辑视图名即可 * property nameprefix value/WEB-INF/views//* 逻辑视图名 * property namesuffix value.jsp/*/ GetMapping(jump) public String jumpJsp(HttpServletRequest request){//设置共享域request.setAttribute( s: data, o: hello jsp!!!);model.addAttribute(data,]spController.index);return index; } 运行后结果 1. 由于在配置中加上了前缀和后缀所以return的值只需要对应jsp页面的名称即可。 2. 混合开发模式下前后端的数据交流是通过共享域进行的。 2.2 转发与重定向 在springMvc中实现转发和重定向是通过关键词Forward和Redirect来实现的。 RequestMapping(/redirect-demo) public String redirectDemo() {// 重定向到 /demo 路径 return redirect:/demo; }RequestMapping(/forward-demo) public String forwardDemo() {// 转发到 /demo 路径return forward:/demo; }//注意 转发和重定向到项目下资源路径都是相同都不需要添加项目根路径填写项目下路径即可 注意 转发是只能访问项目下的资源而重定向是可以重定向到其它资源比如其它不属于本项目的网站。 可能会问转发下既然访问项目下的资源而tomcat在部署的时候设置了根路径是否需要把根路径也一并导入进去答案是不需要 springmvc对转发做了优化即自动帮你加上了对应的根路径,而如果再转发时候写上根路径就会导致重复的根路径的填写。 三、返回JSON数据 由于使用JSON返回数据使用到ResponseBody就不再使用页面跳转中的跳转(forward)和重定向(redirect) 3.1 导包与配置 使用JSON数据需要导入以下包 dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.15.0/version /dependency 写配置类 //TODO: SpringMVC对应组件的配置类 [声明SpringMVC需要的组件信息]//TODO: 导入handlerMapping和handlerAdapter的三种方式//1.自动导入handlerMapping和handlerAdapter [推荐]//2.可以不添加,springmvc会检查是否配置handlerMapping和handlerAdapter,没有配置默认加载//3.使用Bean方式配置handlerMapper和handlerAdapter EnableWebMvc //json数据处理,必须使用此注解,因为他会加入json处理器 Configuration ComponentScan(basePackages com.atguigu.controller) //TODO: 进行controller扫描//WebMvcConfigurer springMvc进行组件配置的规范,配置组件,提供各种方法! 前期可以实现 public class SpringMvcConfig implements WebMvcConfigurer {} 3.2 使用ResponseBody 如果使用JSON格式数据与前端进行交互那么也就意味着抛弃了混合开发的模式所以需要用到ResponseBody注解这个注解让解析器不会去找视图层而是直接返回数据。 对于handler方法而言使用注解只需要在方法上进行定义。 GetMapping(/accounts/{id}) ResponseBody public Object handle() {// ...return obj; } RequestMapping(value /user/detail, method RequestMethod.POST) ResponseBody public User getUser(RequestBody User userParam) {System.out.println(userParam userParam);User user new User();user.setAge(18);user.setName(John);//TODO返回的对象,会使用jackson的序列化工具,转成json返回给前端!return user; } 通过POSTMAN工具访问后结果如下 如果每一个方法都需要进行返回JSON格式数据那么是否可以简化一下呢打开注解源码 可以看到该注解是可以作用在类上的也就意味只需要在 类上直接加上注解即可 //TODO只需要在类上加上ResponseBody即可表示所有handler方法都是直接返回数据 Controller ResponseBody RequestMapping(appointment) public class AppointmentController {RequestMapping(Hello/{name}/{sex})public String hello(PathVariable String name, PathVariable String sex) {System.out.println(name name , sex sex);return name name , sex sex;}RequestMapping(/JsonTest) // TODO通过设置响应体注解RequestBody实现接收json数据public String Json(RequestBody JSONObject jsonObject){System.out.println(成功接受到JSON数据);return 返回接收到的JSON数据为:jsonObject.toJSONString();}RequestMapping(/save)public String CookieTest(HttpServletResponse servletResponse){Cookie cookie new Cookie(CookieTestName,AlphaMilk);servletResponse.addCookie(cookie);System.out.println(成功设置好cookie);return 设置cookie成功;}RequestMapping(/GetCookie)public String GetCookie(CookieValue(CookieTestName) String value){return 获取到的Cookie值为value;}RequestMapping(/Header)public String GetHead(RequestHeader(HOST) String value){return 获取到的HOST值为value;} } 那么既然又需要将类加载在ioc容器中又要声明为ResponseBody。是否能够再进一步简化注解呢答案是有的。 注解ResController Controller ResponseBody 通过观看源码可以看到 四、返回静态资源 4.1 为什么无法直接查询静态资源 如果在项目下在WEB-INF外有一个图片想要通过访问地址去查找。 这里发现通过地址无法进行查找对应的资源这是为什么呢 其实是因为在访问时候DispactherServlet老板 会向HandlerMapping秘书询问是否项目下存在这个资源。而HandlerMapping只能查找Handler方法。即那些RequestMapping(路径)的这些对应的方法。而没办法找静态的资源。所以会返回给DIspatcherServlet一个404. 4.2 配置实现静态资源查找 那么应该如何设置才能让DispatcherServlet能够正常获取到静态资源呢 那就需要用到配置类中继承方法覆写。 那么这个方法的原理是什么呢为什么这个方法能够访问到静态资源。在找寻到对应源码后如下 可以看到其实原理就是用到前面页面跳转的转发功能而转发可以访问到项目下的资源。 在配置访问静态资源后之后这时候访问一个资源的流程变成了 DispatcherServlet首先会询问HandlerMapping是否有对应的资源如果没有就会去访问DefaultServletHandler是否有对应的路径如果都没有就会显示404.
http://www.zqtcl.cn/news/964903/

相关文章:

  • 六安做网站的公司专门建立网站的公司吗
  • 西昌市建设工程管理局网站wordpress主题知更
  • 企业网站如何上存青岛做外贸网站哪家好
  • 保定网站建设冀icp备织梦设置中英文网站
  • 烟台市建设工程检测站网站妖姬直播
  • 式网站西安网页搭建
  • 百度云虚拟主机如何建设网站四川建设人员信息查询
  • 浅谈学校网站建设html5网页制作代码成品
  • 网站在当地做宣传郑州高端设计公司
  • 一级a做爰网站微网站建设平台
  • 网站建设 中广州网站建设+致茂
  • 常德车管所网站工作微信管理系统
  • 什么软件可以做dj视频网站做的好的装修公司网站
  • 网站维护的内容和步骤如何建设像艺龙一样网站
  • 外国人做的学汉字网站公司网页需要哪些内容
  • 网站做缓存企业营销型网站的内容
  • 免费带后台的网站模板wordpress vr主题公园
  • 美丽乡村 网站建设wordpress分页工具栏
  • 卡盟网站是怎么建设的产品开发设计
  • 第一免费营销型网站一起做网店17
  • 高端学校网站建设做网站是怎么赚钱的
  • 哪里可以找人做网站在服务器上中的asp网站后台能输入帐号无法进入
  • 怎么网站关键词语有哪些
  • 网站建设 维护费用环球易购招聘网站建设
  • 怎么做网站官方电话手机应用开发平台
  • 济南企业免费建站剪辑视频怎么学
  • 手表网站免费设计上海做网站制作
  • 深圳网站seo优化课程设计做淘宝网站的目的
  • 机械网站建设中心莱芜论坛莱芜都市网
  • 58同城类似的网站怎么做seo做的比较好的公司