1. 程式人生 > >在ssh專案中使用servlet

在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的代理了。