由于是线上项目,这里先引入SpringMvc,共存,新功能用SpringMvc,旧功能再慢慢替换
1、配置Springmvc拦截后缀
<!-- Start 配置struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- End 配置struts2 -->
<!-- Start SpringMVC配置 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.mvc</url-pattern>
</servlet-mapping>
<!-- End SpringMVC配置 -->
2、在登录拦截器中加入.mvc拦截,作为Springmvc拦截标识
<!-- 登录过滤器-->
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.framework.security.UserLoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- springMVC加入登录拦截 -->
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>*.mvc</url-pattern>
</filter-mapping>
3、请求参数特殊字符过滤中添加.mvc拦截
<!-- 请求参数特殊字符过滤-->
<filter>
<filter-name>IllegalCharacterFilter</filter-name>
<filter-class>com.framework.security.IllegalCharacterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>IllegalCharacterFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>IllegalCharacterFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>IllegalCharacterFilter</filter-name>
<url-pattern>*.mvc</url-pattern>
</filter-mapping>
4、在sql注入参数特殊字符过滤中添加.mvc拦截
<!-- sql注入参数特殊字符过滤-->
<filter>
<filter-name>sqlInjectionFilter</filter-name>
<filter-class>com.framework.security.SqlInjectionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sqlInjectionFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sqlInjectionFilter</filter-name>
<url-pattern>*.mvc</url-pattern>
</filter-mapping>
5、测试
通过@ResponseBody将对象自动转换为JSON返回时,报错了。
@Controller
@RequestMapping("/home")
public class HomeController {
@RequestMapping("/category")
@ResponseBody
public Category category() {
return new Category(1, "默认分类");
}
/**
* 为了方便先这么写这个类~
**/
public static class Category{
public int getCateId() {
return cateId;
}
public void setCateId(int cateId) {
this.cateId = cateId;
}
public String getCateName() {
return cateName;
}
public void setCateName(String cateName) {
this.cateName = cateName;
}
public int cateId;
public String cateName;
public Category(int cateId, String cateName) {
this.cateId = cateId;
this.cateName = cateName;
}
}
}
---------------------
作者:YinXinLion
来源:CSDN
原文:https://blog.csdn.net/qq_27602093/article/details/81748935?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
406解析:HTTP 协议中的 406 Not Acceptable 状态码表示客户端错误,指代服务器端无法提供与 Accept-Charset 以及 Accept-Language 消息头指定的值相匹配的响应。
发现HTTP Response的content-type是text/xml。而不是application/json。
解决方法,需要我们添加POM依赖:
<!-- 解决注解返回JSON,抛出406错误 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.9</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.7.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.9.1</version>
</dependency>
---------------------
作者:YinXinLion
来源:CSDN
原文:https://blog.csdn.net/qq_27602093/article/details/81748935?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
感谢作者:YinXinLion https://blog.csdn.net/qq_27602093/article/details/81748935?utm_source=copy 修改而来