struts2和servlet的共存问题:默认配置的话struts2和servlet是不能共存的。但是实际开发中很多情况需要两者共存。

前期准备工作(包括相关工具或所使用的原料等)Struts2servletEclipse 详细的操作方法或具体步骤
struts2和servlet是当前两种十分常用的JAVA前后台交互的方式,但是一起使用的时候,会存在一些不兼容的问题



我们先看一下struts2 的web.xml文件:
在请求应用时,struts2将会截获所有请求,对于servlet请求将不能够正常相应,是struts2把servlet当成action了,因为servlet和action都是没有后缀的。
针对这个问题,个人发现的解决方法目前有四种:

方法1:统一在servlet后面加上.servlet(包括web.xml配置文件中和页面上使用servlet的地方)

方法2:继承StrutsPrepareAndExecuteFilter,实现以下两个方法。
public void init(FilterConfig filterConfig) throws ServletException {
...............................
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
...............................
if(url.contain("servlet")){
((HttpServletResponse) response).sendRedirect(redirectUrl);
}
super.doFilter(request, response, chain);
}

方法3:在struts.xml文件中修改

方法4:修改拦截页面配置
原:
现:
servlet的请求路径不必改变

总结:希望大家可以通过这几种办法在实际项目解决自己的问题~~~~

- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
