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

山东省住房与建设厅网站wordpress禁用xmlrpc

山东省住房与建设厅网站,wordpress禁用xmlrpc,哪家装修公司口碑好?,江苏建设会计学会网站SpringMVC入门程序的扩展说明 注册前端控制器的细节 在web.xml文件注册SpringMVC的前端控制器DispatcherServlet时使用url-pattern标签中使用/和/*的区别 /可以匹配.html或.js或.css等方式的请求路径,但不匹配*.jsp的请求路径/*可以匹配所有请求(包括.jsp请求), 例如在过滤器…

SpringMVC入门程序的扩展说明

注册前端控制器的细节

在web.xml文件注册SpringMVC的前端控制器DispatcherServlet时使用url-pattern标签中使用/和/*的区别

  • /可以匹配.html或.js或.css等方式的请求路径,但不匹配*.jsp的请求路径
  • /*可以匹配所有请求(包括.jsp请求), 例如在过滤器中使用/*表示匹配所有请求
  • DispatcherServlet并没有能力将jsp翻译成对应的Servlet,所以如果让它处理*.jsp请求会导致页面无法访问

由于SpringMVC核心配置文件是由DispatcherServlet初始化时自动解析的,所以配置文件的名称和位置必须固定,也可以在web.xml文件中进行指定等Tomcat自动解析

  • SpringMVC核心配置文件默认需要放在WEB-INF目录下且文件名称为springMVC-servlet.xml(springMVC由servlet-name决定)
  • init-param初始化参数标签的子标签param-value设置SpringMVC配置文件位置和名称
  • load-on-startup标签设置DispatcherServlet的初始化时间(默认在第一次请求时初始化), DispatcherServlet在启动过程中有大量的初始化操作要做,这些操作都放在第一次请求时执行会严重影响访问速度
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--配置SpringMVC的前端控制器,对浏览器发送的请求统一进行处理--><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--设置SpringMVC配置文件的位置和名称--><init-param><!--contextConfigLocation为固定值--><param-name>contextConfigLocation</param-name><!--使用classpath:表示从类路径查找配置文件,例如maven工程中的src/main/resources--><param-value>classpath:springMVC.xml</param-value></init-param><!--将前端控制器DispatcherServlet的初始化时间提前到服务器启动时,默认第一次访问时初始化--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><!--设置springMVC的核心控制器所能处理的请求的请求路径--><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

Tomcat中的Servlet

DefaultServlet是Tomcat中专门处理静态资源(除jsp和servlet)请求的Servlet, 遇到这些静态资源请求时Tomcat会在服务器下找到这个资源并返回

DispatcherServlet的url-pattern=/表示代替DefaultServlet处理静态资源请求(webapp的web.xml的配置会覆盖Tomcat服务器的web.xml配置)

  • DispatcherServlet前端控制器处理请求的方式是看哪个方法的RequestMapping是这个静态资源名,找到则执行方法找不到则报错
<servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>false</param-value></init-param><load-on-startup>1</load-on-startup>
</servlet><servlet-mapping><servlet-name>default</servlet-name><!--DefaultServlet可以处理除jsp外的所有请求--><url-pattern>/</url-pattern>
</servlet-mapping>

JspServlet是Tomcat中专门负责处理.jsp请求的,将jsp翻译成对应的Servlet,访问这个Servlet把jsp页面中所有的内容以响应的方式输出到浏览器*

若DispatcherServlet的url-pattern=/* 表示代替JspServlet处理.jsp请求 , 由于DispatcherServlet没有能力处理这种请求就会导致 jsp页面不能访问

<servlet><servlet-name>jsp</servlet-name><servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class><init-param><param-name>fork</param-name><param-value>false</param-value></init-param><init-param><param-name>xpoweredBy</param-name><param-value>false</param-value></init-param><load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping><!--JspServlet它专门处理*.jsp请求--><servlet-name>jsp</servlet-name><url-pattern>*.jsp</url-pattern><url-pattern>*.jspx</url-pattern>
</servlet-mapping>

视图解析器的类型

InternalResourceViewResolver是SpringMvc自带的视图解析器可以帮我们拼接页面地址,得到最终jsp页面的物理地址后解析语法并在服务器当中转发到视图对应的页面

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 扫描所有组件 --><context:component-scan base-package="com.atguigu"></context:component-scan><!-- 配置一个视图解析器 ,能帮我们拼接页面地址--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages/"></property><property name="suffix" value=".jsp"></property></bean>
</beans>

Thymeleaf是第三方的视图解析器可以帮我们拼接页面地址,得到最终html页面物理地址后解析页面中的语法并在服务器当中转发到视图对应的页面

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!--自动扫描控制层组件--><context:component-scan base-package="com.atguigu.mvc.controller"></context:component-scan><!--配置Thymeleaf视图解析器--><bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver"><property name="order" value="1"/><property name="characterEncoding" value="UTF-8"/><property name="templateEngine"><bean class="org.thymeleaf.spring5.SpringTemplateEngine"><property name="templateResolver"><bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver"><!--视图前缀--><property name="prefix" value="/WEB-INF/templates/"/><!--视图后缀--><property name="suffix" value=".html"/><property name="templateMode" value="HTML5"/><property name="characterEncoding" value="UTF-8" /></bean></property></bean></property></bean>
</beans>总结**

MVC的执行流程

客户端点击超链接发送请求后服务器处理请求的具体过程

  • 若请求地址符合前端控制器的url-pattern(除*.jsp外的所有请求),该请求就会被前端控制器DispatcherServlet处理
  • 前端控制器解析SpringMvc的核心配置文件,扫描控制层组件找到所有的控制器,将请求地址和这些控制器中@RequestMapping注解的value属性值进行匹配
  • 若匹配成功说明该注解所标识的控制器方法就是处理该请求的方法, 然后利用反射机制执行目标方法得到一个字符串类型的逻辑视图名称
  • 视图解析器Thymeleaf拿到逻辑视图名称加上前缀和后缀组成完整的物理视图, 得到html页面地址后解析页面中的语法并在服务器当中转发到视图对应的页面
    在这里插入图片描述
http://www.yayakq.cn/news/403663/

相关文章:

  • 西宁网站制作费用是多少最新新闻热点事件摘抄300字
  • 商务网站建设论文答辩ppt安庆网站建设专业制
  • 有网站域名及空间 别人帮建网站网络营销和电子营销的区别
  • 吉林天宇建设集团网站市场监督管理局是什么单位
  • 上海网站建设哪中国互联网巨头排名
  • 青海网站开发 建设手机网站用什么语言开发
  • wordpress 终极优化做神马网站优化排名软
  • 企业网站源码进一品资源网楚州网站开发
  • 企业 手机网站微信公众号定位开发
  • 旅游电子商务网站的建设方案巨耀网站建设公司
  • 龙华民治网站设计公司详情页设计策划
  • 网站在线留言响应式网站的字体设置
  • 洛阳制作网站的公司课程网站的设计
  • h5制作网站公司嘉定网站设计制作报价
  • 网站如何做抖音推广网页版qq农场登录入口
  • 网站原创文章规范淄博周村网站建设哪家好
  • 搭建租号网的网站免费网站的app
  • 2015网站备案教程网页设计与网站开发
  • 手机网站淘宝客怎么做免费saascrm
  • 阳泉 网站建设合作南京创网网络技术有限公司
  • 做网站 乐清给几个网站谢谢
  • 中山高端网站建设公司移动无线宽带怎么续费
  • 网站开发和界面的区别wordpress伪静态html
  • 川沙网站建设怎么用云校建设学校网站
  • 武威做网站的公司太仓住房和城乡建设局网站
  • 建设网站服务器怎么弄网站集约化建设 要求
  • 建设网站怎样提要求2024年度关键词
  • 餐饮公司网站建设策划书网站左侧悬浮导航代码
  • 新建门户网站的建设自查百度商桥代码怎么添加到网站
  • 免费网站排名优化在线溧阳网站建设报价