您的位置:首页 > 编程语言 > Java开发

servlet与struts同时使用时出现的问题

2015-05-12 17:20 344 查看
问题:一开始单纯的试用struts来开发一个项目,后来又在原来的基础上使用servlet技术。做了一个简单的servlet事例。在网址中输入.jsp页面时,无法找到;具体报错信息为struts找不到页面中form的action。

原因是:struts拦截了所有类型的访问,当然也包括所有的jsp访问,即servlet的页面的action被struts拦截了,如果struts中没有配置相同的action名称的话,就会报找不到action的错误信息。

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


解决办法:把web.xml中struts拦截的内容改成具体的,同时把servlet的action命名成与struts拦截的完全不同的后缀内容。这样就不会相互影响。web.xml中配置的struts拦截的内容:

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping> web.xml中servlet的配置内容:
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/hello.html</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/servlet/loginservlet.html</url-pattern>
</servlet-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts servlet