all gone

          all gone

          #

          JSP 處理MySQL數(shù)據(jù)庫(kù)時(shí)的中文問題

          以前遇到JSP 處理MySQL數(shù)據(jù)庫(kù)時(shí)的中文問題時(shí),采取的是很笨的一種方法,直接用字符串編碼轉(zhuǎn)換函數(shù)進(jìn)行轉(zhuǎn)換,這次從網(wǎng)上搜了一下,找到了一個(gè)使用Filter的可行方法。在Tomcat 5.5+ MySQL4.0.16下通過。

          filter類源碼是從網(wǎng)上找的,如下
          /**
           *
           */
          package com.lzy;

          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;

          /**
           * @author lzy
           *
           */
          public class SetCharacterEncodingFilter implements Filter {
           
           protected String encoding = null;
              protected FilterConfig filterConfig = null;
              protected boolean ignore = true;


           /* (non-Javadoc)
            * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
            */
           public void init(FilterConfig filterConfig) throws ServletException {
            // TODO Auto-generated method stub
            this.filterConfig = filterConfig;
               this.encoding = filterConfig.getInitParameter("encoding");
               String value = filterConfig.getInitParameter("ignore");
               if (value == null)
                this.ignore = true;
               else if (value.equalsIgnoreCase("true"))
                this.ignore = true;
               else if (value.equalsIgnoreCase("yes"))
                this.ignore = true;
               else
                this.ignore = false;


           }

           /* (non-Javadoc)
            * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
            */
           public void doFilter(ServletRequest request, ServletResponse response,
             FilterChain chain) throws IOException, ServletException {
            
            // TODO Auto-generated method stub
            if (ignore || (request.getCharacterEncoding() == null)) {
             String encoding = selectEncoding(request);
             if (encoding != null)
              request.setCharacterEncoding(encoding);
            }
            chain.doFilter(request, response);
           }

           /* (non-Javadoc)
            * @see javax.servlet.Filter#destroy()
            */
           public void destroy() {
            // TODO Auto-generated method stub
            
            this.encoding = null;
               this.filterConfig = null;


           }
           
            protected String selectEncoding(ServletRequest request) {

                   return (this.encoding);

               }


          }

          在web.xml 文件中作如下設(shè)置:(我使用的是Struts框架)
          <filter>
          <filter-name>Encoding</filter-name>
          <filter-class>com.lzy.SetCharacterEncodingFilter</filter-class>
          <init-param>
          <param-name>encoding</param-name>
          <param-value>GBK</param-value>
          </init-param>
          </filter>

          <filter-mapping>
          <filter-name>Encoding</filter-name>
          <servlet-name>action</servlet-name>
          </filter-mapping>
          <filter-mapping>
          <filter-name>Encoding</filter-name>
          <url-pattern>*.jsp</url-pattern>
          </filter-mapping>


          最后,連接數(shù)據(jù)庫(kù)時(shí),使用下面的url:
          jdbc:mysql://localhost:3306/數(shù)據(jù)庫(kù)名?useUnicode=true&characterEncoding=GBK

          posted @ 2005-12-18 22:57 all gone 閱讀(485) | 評(píng)論 (0)編輯 收藏

          Spring之Hello World

          1.下載Spring相關(guān)的開發(fā)包
          下載地址:http://sourceforge.net/project/showfiles.php?group_id=73357
          有spring-framework-1.2.6-with-dependencies.zip,一個(gè)是spring-framework-1.2.6.zip,最好下載with-dependencies的,里面有另外一些附加包,下載后解壓縮,dist目錄下是spring自身的jar,lib目錄下是附加的jar。
          2.新建Java Project,將spring.jar(dist目錄下)和commons-logging.jar(lib目錄下)添加到project的build path中。
          3.新建POJO Bean類:HelloBean
          //HelloBean.java
          /**
           *
           */
          package com.lzy;

          /**
           * @author lzy
           *
           */
          public class HelloBean{
           
           private String hello;
           
           public void sayHello(){
            System.out.println(this.getHello());
           }

           /**
            * @return Returns the hello.
            */
           public String getHello() {
            return hello;
           }

           /**
            * @param hello The hello to set.
            */
           public void setHello(String hello) {
            this.hello = hello;
           }
           

          }


          4.新建文件bean.xml,將在這個(gè)XML文件中為一個(gè)HelloBean的實(shí)例的hello屬性賦值。
          //bean.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "<beans>
          <description>Spring Quick Start</description>
          <bean id="helloBean" class="com.lzy.HelloBean">
            <property name="hello">
             <value>hello world</value>
            </property>
          </bean>
          </beans>

          5.新建測(cè)試類:TestSpring
          //TestSpring.java
          /**
           *
           */
          package com.lzy;

          import java.util.Locale;

          import org.springframework.context.ApplicationContext;
          import org.springframework.context.support.FileSystemXmlApplicationContext;

          /**
           * @author lzy
           *
           */
          public class TestSpring {

           /**
            * @param args
            */
           public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            ApplicationContext ctx=new FileSystemXmlApplicationContext("bean.xml");
              HelloBean hello=(HelloBean)ctx.getBean("helloBean");
            hello.sayHello();
           }

          }


          6.運(yùn)行測(cè)試類:
              如果沒有出錯(cuò),輸出中將會(huì)看到“hello world”。

          posted @ 2005-12-14 22:07 all gone 閱讀(1055) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共17頁(yè): First 上一頁(yè) 5 6 7 8 9 10 11 12 13 下一頁(yè) Last 
          主站蜘蛛池模板: 阿拉善左旗| 滁州市| 水城县| 应用必备| 平昌县| 固镇县| 博爱县| 历史| 临西县| 固安县| 象山县| 兴城市| 连江县| 丹东市| 吉木乃县| 侯马市| 枣强县| 额济纳旗| 敖汉旗| 靖远县| 石屏县| 靖江市| 舟曲县| 微山县| 柞水县| 邹平县| 西盟| 芦山县| 和林格尔县| 永宁县| 衡阳县| 沂水县| 平陆县| 济阳县| 甘洛县| 什邡市| 灵武市| 凤城市| 遵化市| 潞城市| 新晃|