在ssh项目中使用servlet

    虽然很多人说用了SSH还要servlet做什么,但是需要在SSH项目中使用servlet的时候却找不到解决方法。第一次整servlet到SSH项目上遇到了好多坑,花了两天才解决。

    当我们在页面发出请求时,struts2将会拦截所有请求,对于servlet请求将不能够正常响应,报错信息为:HTTP Status 404 - There is no Action mapped for namespace / and action name xxServlet.

  

 <filter-mapping>

<filter-name>struts2</filter-name>

 <url-pattern>/*</url-pattern>

 </filter-mapping>

之前我试过把/*改成*.do,/strut/*  ,但项目之前的页面都无法显示了。我们可以将原来的servlet的<url-pattern>给servlet加上一个后缀

<servlet-mapping>

<servlet-name>RegisterServlet</servlet-name>

<url-pattern>/RegisterServlet.servlet</url-pattern>

</servlet-mapping>

这样servlet就可以避开struts2的拦截了,然后我们在servlet中生成init()方法,

 public void init() throws ServletException {

context = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());

findUsersService = (IFindUsersService) context.getBean("findUsersService");

}

这样就可以获取spring的代理了。

猜你喜欢

转载自www.cnblogs.com/panchen/p/10103370.html