所有MVC框架所需要使用核心控制器拦截所有用户的请求,对于struts而言,核心控制器就是ActionServlet,可以让其拦截所有用户请求。但为了解决系统的中文编码问题,系统扩展了ActionServlet,重写了原来的process,在该方法中设置采用何种编码方式解析请求参数。
下面是一个扩展后的ActionServlet的代码
package org.yeeku.action.base;
import org.apache.struts.action.ActionServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyActionServlet extends org.apache.struts.action.ActionServlet { protected void process(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException { request.setCharacterEncoding("GBK"); super.process(request, response); } }
|
重写了ActionServlet类后,必须将其配置在web.xml文件中,并让其拦截所有的用户请求,该核心控制器的配置片段如下:
<servlet> <servlet-name>action</servlet-name> <servlet-class>org.yeeku.action.base.MyActionServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
|
在web.xml文件中增加了配置后,就可以让ActionServlet拦截所有用户的请求,并将请求转入Struts体系中
阅读(1434) | 评论(0) | 转发(0) |