深圳市手机网站建设公司,wordpress 取消摘要,东莞网站建设营销服务平台,山东住房和城乡建设局网站一、 先通过Maven创建一个webapp项目
创建完成之后在pom文件中设置一些基本的信息#xff1a; 1、打包方式 packagingwar/packaging 以war包的形式打包 2、相关依赖 现阶段只有3个#xff1a;SpringMVC、thymeleaf与Spring整合、ServletAPI dependencie…一、 先通过Maven创建一个webapp项目
创建完成之后在pom文件中设置一些基本的信息 1、打包方式 packagingwar/packaging 以war包的形式打包 2、相关依赖 现阶段只有3个SpringMVC、thymeleaf与Spring整合、ServletAPI dependenciesdependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/version/dependencydependencygroupIdorg.thymeleaf/groupIdartifactIdthymeleaf-spring5/artifactIdversion3.0.15.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.2.10.RELEASE/version/dependency/dependencies
二、创建webapp目录 打开projectStructure找到该项目中的Web 初始是这样 点击部署中的➕创建一个web.xml 需要将建立web.xml的路径修改为项目\src\main\webapp\WEB-INF\web.xml 成功。
三、配置web.xml
1、命名空间和约束
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0
/web-app 2、配置中央控制器 servletservlet-namespringMVC/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class/servletservlet-mappingservlet-namespringMVC/servlet-nameurl-pattern//url-pattern/servlet-mapping
url-pattern中的值为/对浏览器发送的请求通过dispathcerServlet统一处理。
SpringMVC的配置路径默认时只能在WEB-INF下并且命名格式也有限制
servlet-name-servlet.xml
但 servletservlet-nameSpringMVC/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--通过此设置可以将SpringMVC的配置文件放在项目的resource目录下--init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:springmvc.xml/param-value/init-paramload-on-startup1/load-on-startup/servlet
整体如下
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!--配置springMVC的编码过滤器--filterfilter-nameCharacterEncodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueUTF-8/param-value/init-param!--不但会设置请求的编码类型也会设置响应的编码类型--init-paramparam-nameforceEncoding/param-nameparam-valuetrue/param-value/init-param/filterfilter-mappingfilter-nameCharacterEncodingFilter/filter-nameurl-pattern//url-pattern/filter-mappingservletservlet-namespringMVC/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:springmvc.xml/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-namespringMVC/servlet-nameurl-pattern//url-pattern/servlet-mapping/web-app3、SpringMVC的核心配置文件
!--自动扫描包--context:component-scan base-packagecom.atguigu.controller/!--thymeleaf视图解析器--bean idviewResolver classorg.thymeleaf.spring5.view.ThymeleafViewResolverproperty nameorder value1/property namecharacterEncoding valueUTF-8/property nametemplateEnginebean classorg.thymeleaf.spring5.SpringTemplateEngineproperty nametemplateResolverbean classorg.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver!-- 视图前缀 --property nameprefix value/WEB-INF/templates//!-- 视图后缀 --property namesuffix value.html/property nametemplateMode valueHTML5/property namecharacterEncoding valueUTF-8 //bean/property/bean/property/bean
4、最后建立控制器即可。
Controller
public class HelloController {//可以将浏览器发送的请求映射到这个方法执行 /代表着urlRequestMapping(/)public String protal(){//将逻辑视图返回return index;}
四、总结 浏览器发送请求若请求地址符合前端控制器的url-pattern该请求就会被前端控制器DispatcherServlet处理。前端控制器就会读取SpringMVC的核心配置文件通过扫描组件找到控制器。接着根据请求地址和控制器中RequestMapping注解的value属性值进行匹配若匹配成功该注解所标识的。控制器方法就是处理请求的方法。处理请求的方法需要返回一个字符串类型的视图名称该视图名称会被视图解析器解析加上前缀和后缀组成视图的路径通过Thymeleaf对视图进行渲染最终转发到视图所对应页面