你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Java专栏
Struts 从零开始 二、解决中文乱码的问题实例(3)
 

B、继承RequestProcessor类

RequestProcessor类处理ActionServlet接收到的所有请求。根据它的处理方式,可将每个请求分解为多个小任务,分别由不同的方法执行。这就允许针对请求的各个单独部分自定义处理。

RequestProcessor类的部分方法如下:

processPath(): 获取客户端请求的路径URI

processMapping(): 根据请求URI获取所需的映射信息

processRoles(): 检查用户的角色是否允许他访问请求的资源

processActionForm(): 新建一个Form Bean或从请求会话中检索Form Bean

processForward(): 处理元素forward以匹配当前的请求路径

processValidate(): 调用Form Bean的validate()方法

processPreprocess(): 告诉请求处理器调用此方法后,是否应继续处理请求

processLocale(): 为请求选择一个语言环境

processActionCreate(): 实例化当前ActionMapping指定的类的实例

processActionPerform(): 将调用action的perform()或execute()方法

呵呵,发没发现RequestProcess类的所有方法都有一个前缀proess,接着往下看吧。

RequestProcessor在action之前,所以我们应着手RequestProcessor,要开发自己的RequestProcessor类,步骤如下:

(1) 创建一个继承org.apache.struts.action.RequestProcessor的类,在改类中显示定义一个无参,方法体为空的构造器。

(2) 重写所需的方法,加入我们的功能。

具体代码如下所示:

package servlets;

import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.RequestProcessor;

public class EncodingHandler extends RequestProcessor {

public boolean processPreprocess(HttpServletRequest servletRequest,

HttpServletResponse serveltResponse) {

try {

servletRequest.setCharacterEncoding("GBK");

System.out.println("请求被处理.");

} catch (UnsupportedEncodingException ex) {

ex.printStackTrace();

}

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089