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

来源:互联网 发布:语音聊天变声软件 编辑:程序博客网 时间:2024/06/05 03:07

问题:一开始单纯的试用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>


0 0
原创粉丝点击