导入依赖
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
springMVC的配置文件
<!--声明对象注解驱动-->
<context:component-scan base-package="controller"/>
<!-- json注解-->
<mvc:annotation-driven/>
<!-- 斜杠处理静态资源 方式1-->
<!-- <mvc:default-servlet-handler/>-->
<!-- 斜杠处理静态资源方式 2 -->
<!-- <mvc:resources mapping="/" location="/"/>-->
<!-- 视图解析器-->
<!--解决大量前边路径重复问题-->
<!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
<!--前缀前后都有斜杠-->
<!-- <property name="prefix" value="/WEB-INF/view/"/>-->
<!--后缀-->
<!-- <property name="suffix" value=".jsp"/>-->
<!-- </bean>-->
web.xml
<!-- 配置中央调度器-->
<servlet>
<servlet-name>dis</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定配置文件路径-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
<!-- 对象创建顺序 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dis</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- 过滤器 -->
<!-- <filter>-->
<!-- <filter-name>filter</filter-name>-->
<!-- <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>-->
<!-- <init-param>-->
<!-- <param-name>encoding</param-name>-->
<!-- <param-value>utf-8</param-value>-->
<!-- </init-param>-->
<!-- <!– 强制请求对象使用编码–>-->
<!-- <init-param>-->
<!-- <param-name>forceRequestEncoding</param-name>-->
<!-- <param-value>true</param-value>-->
<!-- </init-param>-->
<!-- <!– 强制应答对象使用编码–>-->
<!-- <init-param>-->
<!-- <param-name>forceResponseEncoding</param-name>-->
<!-- <param-value>true</param-value>-->
<!-- </init-param>-->
<!-- </filter>-->
<!-- <filter-mapping>-->
<!-- <filter-name>filter</filter-name>-->
<!-- <url-pattern>/*</url-pattern>-->
<!-- </filter-mapping>-->
@RequestMapping() 处理请求
@RequestMapping(value="/ajax4.do",produces="text/plain;charset=utf-8") 设置编码 不然中文异常 produces属性设置响应中文数据
@RequestBody 处理ajax请求 放在请求方法前
@RequestParam 解决请求数据name和接收name不一致问题 放在接收方法形参前
Public ModelAndView doOther(@RequestParam("rName") String name,String age)
解决多次冲突访问路径
访问路径 /user/aaa.jsp 响应转发到此处 再次点击会出现404 原因是 多加个 user /user/user/aaa.jsp
解决办法两种
1 在head中加入 base标签
<base href="http://localhost:8080/SpringMVC_04_war_exploded/">
href填入项目访问路径
2 在head加入拼接的访问路径
<%
String basePath=request.getScheme()+"://"+
request.getServerName()+":"+request.getServerPort()+
request.getContextPath()+"/";
%>
<base href="<%=basePath%>">