Tag: 预处理预览模式: 普通 | 列表
07-06
12

<controller>元素详解

      <controller>主要用于扩展RequestProcessor(请求处理器类),实现预处理功能所用。在Struts1.0版本时,只有5个元素,并不<controller>时,程序员通过扩展其ActionServlet来实现预处理功能。自从1.1版本以后,Struts提供了实现预处理的机制。我们先看一下关系样例:
引用内容 引用内容
ActionServlet->RequestProcessor->MyRequestProcessor->Action

       MyRequestProcessor就是我们需要扩展的类,在其中重构父类process()方法中的第六个方法。processProcessor()方法。
      下面的controller元素中我写入了三个比较有用的参数,并一一解释:
引用内容 引用内容
  <controller contentType="text/html;charset=UTF-8" processorClass="order.MyProRequestProcessor" nocache="true" />

       1.contentType属性,指定响应结果的内容类型和字符编码。当ActionServlet判断此属性存在时,由RequestProcessor类中的第四个方法实现。详见书101页
       2.processorClass指定扩展的类。
       3.nocache属性,页面不缓存。在RequestProcessor类中以代码的形式实现如下:
引用内容 引用内容
response.setHeader("Pragma","No-cache");

查看更多...

Tags: 预处理

分类:Struts | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 557
06-09
22

关于存储预处理方法prepareStatement()

      用createStatement()时一直没有发现的问题。

      虽然prepareStatement()适合做较多信息量的储存,代码在编写时候过程时直观易懂,但是我今天发现它里面放入的sql语言,一次最多只能set进去10条,1-10,同样语句的后面也只能对应最多10个问号。

      如需要再存剩余信息,需另开sql语言,继续储存。

查看更多...

Tags: 预处理

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 786
06-08
31

在Struts中利用预处理方法解决中文乱码问题

   在Struts1.11版本之后,ActionServlet不再处理所有请求,而是把大部分请求抛给了RequestProcessor类,在其类中的第六个方法processPreprocess形式为:

boolean processPreprocess(HttpServletRequest request, 
HttpServletResponse response)

查看更多...

Tags: 预处理 乱码 中文乱码

分类:Struts | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 819