先通过Maven创建一个webapp项目
创建完成之后在pom文件中设置一些基本的信息:
<packaging>warpackaging>
以war包的形式打包
现阶段只有3个:SpringMVC、thymeleaf与Spring整合、ServletAPI
- <dependencies>
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>javax.servlet-apiartifactId>
- <version>3.1.0version>
- dependency>
- <dependency>
- <groupId>org.thymeleafgroupId>
- <artifactId>thymeleaf-spring5artifactId>
- <version>3.0.15.RELEASEversion>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webmvcartifactId>
- <version>5.2.10.RELEASEversion>
- dependency>
-
- dependencies>
打开projectStructure,找到该项目中的Web

初始是这样:
点击部署中的➕,创建一个web.xml
需要将建立web.xml的路径修改为:项目\src\main\webapp\WEB-INF\web.xml

成功。
- <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">
- web-app>
- <servlet>
- <servlet-name>springMVCservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
- servlet>
- <servlet-mapping>
- <servlet-name>springMVCservlet-name>
- <url-pattern>/url-pattern>
- servlet-mapping>
url-pattern中的值为:/,对浏览器发送的请求通过dispathcerServlet统一处理。
SpringMVC的配置路径默认时只能在WEB-INF下,并且命名格式也有限制:
但
- <servlet>
- <servlet-name>SpringMVCservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
-
- <init-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:springmvc.xmlparam-value>
- init-param>
- <load-on-startup>1load-on-startup>
- servlet>
- <context:component-scan base-package="com.atguigu.controller"/>
-
-
- <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>
- @Controller
- public class HelloController {
- //可以将浏览器发送的请求映射到这个方法执行 /代表着url
- @RequestMapping("/")
- public String protal(){
- //将逻辑视图返回
- return "index";
- }