2007年12月2日

 

l         数据库里的表使用GBK编码

l         struts.xml文件内添加常量:

<constant name="struts.i18n.encoding" value="GBK"/>

其实到这一部就已经解决了提交参数的中文乱码问题,但我看过一些web.xml里是这样配制struts2.xmapping.

第一种方法:

<filter-mapping>

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

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

       </filter-mapping>

第二种方法:

<filter-mapping>

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

             <url-pattern>/*.action </url-pattern>

       </filter-mapping>

这两种配制是不是等效,我没有去研究过,但总使我有一种感觉:struts2.x参数的提交只是提交到action,而对于提交到其它servlet里的参数并没有进行处理。

       所以我还是动手写了一个字符过滤器类

l         编写EncodeFilter

package org.yxl.web;

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletRequest;

publicclass EncodeFilter implements Filter {

    protected FilterConfig filterConfig;

    private String targetEncoding = "GBK";

    publicvoid destroy() {

       // TODO Auto-generated method stub

       this.filterConfig = null;

    }

    publicvoid doFilter(ServletRequest arg0, ServletResponse arg1,

           FilterChain arg2) throws IOException, ServletException {

       // TODO Auto-generated method stub

        HttpServletRequest request = (HttpServletRequest)arg0;

        request.setCharacterEncoding(targetEncoding);

        arg2.doFilter(request,arg1);

    }

    publicvoid init(FilterConfig arg0) throws ServletException {

       // TODO Auto-generated method stub

       this.filterConfig = arg0;

        this.targetEncoding = arg0.getInitParameter("encoding");

    }

    publicvoid setFilterConfig(FilterConfig filterConfig) {

       this.filterConfig = filterConfig;

    }

}

l         web.xml里配制EncodeFilter

<filter>

       <filter-name>encoding</filter-name>

        <filter-class>org.yxl.web.EncodeFilter</filter-class>

       <init-param>

            <param-name>encoding</param-name>

            <param-value>GBK</param-value>

        </init-param>

    </filter>

    <filter-mapping>

        <filter-name>encoding</filter-name>

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

</filter-mapping>

这样整个配制就完成了,其中在struts.xml里定义国际化常量

<constant name="struts.i18n.encoding" value="GBK"/>是关键,是不能少的。而在定义完常量后再使用EncodeFilter,两者一同使用,并不会发生冲突。以上只是我个人的观点,不对的地方希望大家提出来,我也是新手。

posted @ 2007-12-02 01:53 bigrush 阅读(593) | 评论 (0)编辑 收藏
 
 

1.         导入的包

l         struts2的五个基础包:commons-logging-1.1.jar;

freemarker-2.3.8.jar;

ognl-2.6.9.jar;

struts-core-2.0.6.jar;

xwork-2.0.0.jar.

l         spring的核心包:spring.jar

l         二者集成开发所需的包:struts-spring-plugin-2.0.6.jar

2.         修改web.xml配置文件

l         struts2开发所需的分派过滤器及映射所有的action

<filter>   
         <filter-name>struts2</filter-name>   
         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>   
     </filter>   
        
     <filter-mapping>   
         <filter-name>struts2</filter-name>   
         <url-pattern>*.action</url-pattern>   
     </filter-mapping>   

l         配置spring加载上下文时的监听器

<listener>   

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>   

</listener>   

3.         编写一个action类文件

l         org.yxl.ExampleAction.class:继承自ActionSupport类(注:当加入了struts2.xspring3.x后,会有两个ActionSupport类,这里要选struts2.x中的,即opernsymphony里的)包含一个message属性和覆写execute()方法

4.         配置applicationContext.xml

l         写一个bean

<beans>   
        <bean id=example" class=" org.yxl.ExampleAction "></bean>   
 </beans>  

5.         配置struts.xml

l         定义对象由spring进行产生(整合的关键)

<constant name="objectFactory" value="spring"></constant> 

l         配置Action(class属性的值为4里配置的bean id,不再是类名)[与整合前的区别]

<action name="Example" class=" example ">   
             <result>/show.jsp</result>   
 </action>

6.    OVER

posted @ 2007-12-02 01:46 bigrush 阅读(383) | 评论 (0)编辑 收藏
 
 

1.dir  

简介:1dir/p 分屏幕显示 2: dir/w 只显示文件不显示大小时间 dir hackp.txt 显示文件
 

2 .  cd

简介:cd是英文change directory(改变目录)的缩写,也是最常用的命令之一。顾名思义,如果想要进入一个目录,显然该采用这个命令了。
 

3.md和rd

简介:md(make directory--创建目录)rd(remove directory--删除目录)


4.copy

复制文件,本身复制,到目录或者到其他盘

5.del

简介:deldelete(删除)的缩写,显然它的作用就是干破坏删除文件。
 ren和type

简介:如果想给一个文件改个名字,可以用ren(rename)命令。ren命令的格式是:ren 源文件名目的文件名。type命令的格式就是:type 文件名。比如说,我想知道abc.txt文件的内容,就从键盘上输入type abc.txt
6.format

format命令的格式很简单:格式化A盘,就是format A:,格式化B盘,就是format B:

7.diskcopy

diskcopy命令的格式很简单:diskcopy 源驱动器名 目的驱动器名。举个例子来说,如果要在A驱动器上复制磁盘,就输入:diskcopy a: a:

8.deltree和mem

比如有个目录abc需要删除,就拿deltree这个大砍刀试试。输入deltree abc,这时计算机会问你是否真的要删除,键入y后,目录就被删除了。Mem则是看内存的大小

9.     chkdsk

chkdsk命令的格式是: chkdsk 磁盘名,例如要检查A盘使用情况,就输入chkdsk A: ,检查c盘使用情况,就输入chkdsk C: ,如果直接输入chkdsk,就检查当前磁盘的使用情况。
posted @ 2007-12-02 01:45 bigrush 阅读(132) | 评论 (0)编辑 收藏
仅列出标题