隨筆 - 5  文章 - 4  trackbacks - 0

          留言簿

          文章分類(2)

          文章檔案(7)

          搜索

          •  

          最新評論

          在servlet和jsp中處理web表單數據

          1.String s = (String)request.getParameter("name");
          2.String[] args = (String[])request.getParameterValues("name");  //獲得多值
          3.通過迭代的getParameterMap方式獲得值
          /*Map param_map = request.getParameterMap();
          if(param_map == null){
           throw new ServletException("param_map is null");
          }
          Iterator iterator = param_map.entrySet().iterator();
          while(iterator.hasNext()){
           Map.Entry me = (Map.Entry)iterator.next();
           out.print(me.getKey()+":");
           String[] args = (String[])me.getValue();
           for(int i = 0 ; i < args.length ; i++){   //處理多值
            out.print(args[i]);
           }
           out.print("<br>");
          }*/
          4.通過 getParameterNames 來迭代獲得值
          /*Enumeration enumeration = request.getParameterNames();
          while(enumeration.hasMoreElements()){
           String key = (String)enumeration.nextElement();
           String[] values = request.getParameterValues(key);
              out.print(key+" : ");
           for( int i = 0 ; i < values.length ; i++ ){
           out.print(values[i]);
           if(i < values.length - 1)
            out.print(",");
              }
           out.print("<br>");
          }
          */

          在servlet中,如果要訪問該servlet的配置參數,或者該servlet的相關信息,可以用
          this.getServletConfig() 獲得這個對象
          this.getServletContext() 能獲得整個上下文的信息


          在servlet中,如果有新的轉發
          RequestDispatcher dispatcher  = request.getRequestDispatcher("/PrintLogInfo?man=leishiran");
          dispatcher.forward(request,response);
          那么在新的接收servlet中,仍然響應表單提交的方法

           

          使用過濾起讀取參數值
          創建filter的類
          package testfilterservlet;

          import java.io.IOException;

          import javax.servlet.Filter;
          import javax.servlet.FilterChain;
          import javax.servlet.FilterConfig;
          import javax.servlet.RequestDispatcher;
          import javax.servlet.ServletException;
          import javax.servlet.ServletRequest;
          import javax.servlet.ServletResponse;

          public class MyFirstFilter implements Filter {

           private FilterConfig config;

           public void init(FilterConfig filterConfig) throws ServletException {
            // TODO 自動生成方法存根
            this.config = filterConfig;
            System.out.println("MyFirstFilter init!");
           }
           public void doFilter(ServletRequest request, ServletResponse response,
             FilterChain chain) throws IOException, ServletException {
            // TODO 自動生成方法存根
            
            String myName = (String)request.getParameter("name");
            if(myName.equals("lsr")){
             System.out.print("lsr");
             chain.doFilter(request,response); //繼續響應下一個filter或者servlet
            }else{
             System.out.print("not lsr");
             RequestDispatcher dispatcher = request.getRequestDispatcher("/testForm/testform1.html");
             dispatcher.forward(request,response);
            }
           }
           public void destroy() {
            // TODO 自動生成方法存根
            
            System.out.println("MyFirstFilter destroy!");
           }
          }

          然后注冊(簡寫)
          <web-app>
                  <filter>
            <filter-name>MyFirstFilter</filter-name>
            <filter-class>testfilterservlet.MyFirstFilter</filter-class>
           </filter>
           <filter-mapping>
            <filter-name>MyFirstFilter</filter-name>
            <servlet-name>PrintLog</servlet-name> //這里可以使用 url-pattern
           </filter-mapping>

           <servlet>
            <description></description>
            <display-name>PrintLog</display-name>
            <servlet-name>PrintLog</servlet-name>
            <servlet-class>testservlet.PrintLog</servlet-class>
            <init-param>
             <param-name>des</param-name>
             <param-value>this is a test</param-value>
            </init-param>
           </servlet>
           <servlet-mapping>
            <servlet-name>PrintLog</servlet-name>
            <url-pattern>/PrintLog</url-pattern>
           </servlet-mapping>
          </web-app>

          學的這里,覺得在這樣的結構下開發項目貌似很爽,只需要在xml進行注冊,而源文件不用做任何修改,就可以添加新的功能!

          posted on 2006-12-12 01:23 googlor 閱讀(736) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 汶川县| 濉溪县| 云阳县| 竹北市| 宣威市| 长泰县| 平江县| 科技| 恩施市| 兰州市| 灵丘县| 滁州市| 宣城市| 康定县| 静宁县| 南江县| 万山特区| 承德县| 白银市| 五寨县| 海城市| 中卫市| 龙门县| 苍南县| 历史| 渝中区| 和林格尔县| 无棣县| 青浦区| 和政县| 红安县| 新民市| 利川市| 阿瓦提县| 左贡县| 屏东市| 大宁县| 永仁县| 尼玛县| 青河县| 陇南市|