zoukankan      html  css  js  c++  java
  • [Jweb] Servlet 如何从上一个页面取得参数. ShowParameters.java

     @1-4  Servlet 编程接口
      * GenericServlet 是所有 Servlet 的鼻祖 (在类的层次上) 在接口层次上 Servlet 是鼻祖
      * 用于 HTTP 的 Servlet 编程都通过继承 javax.servlet.http.HttpServlet 实现
      * 请求处理方法: (分别对应 http 协议的7种请求)
         1. doGet    响应Get请求,常用
         2. doPost   响应Post请求,常用
       * 实例的个数 : 在非分布式的情况下,通常一个Servlet在服务器中有一个实例 
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    	HttpServletRequest req  封装了客户端到服务器端的参数值
    	doGet() 这个方法是给 Container 调用的。
    	 那么当然是由 Container 来负责把你这个形参的值的实参传过来
    	  形参要求的是 Interface HttpServletRequest 这个接口
    	   那么传递进来的肯定是实现了这个接口的类对象,实现了这个接口就可以调用这个接口的方法!
     @1-5 Tools / video 记录
    	2013-12-24
    	一、多行注释快捷键
    	1.选中你要加注释的区域,用ctrl+shift+C 或者ctrl+/ 会加上//注释
    	2.先把你要注释的东西选中,用shit+ctrl+/ 会加上/*    */注释
    	3.以上快捷键在重复按一下就会去掉加上的注释
    	 07_SERVLET为什么有2个init方法 张志宇精辟解释阅读 tomcat 源码
    	 utf-8 一个汉字三个字节表示+
    	 09_SERVLET如何从上一个页面取得参数_02
     07_SERVLET为什么有2个init方法 张志宇精辟解释阅读tomcat源码    

    TestInitServlet.java    /    public class TestInitServlet extends HttpServlet 

    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    //注意<init-param>标签的位置
    public class TestInitServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            resp.setContentType("text/html;charset=GBK");
            PrintWriter out = resp.getWriter();
    
            out.println(this.getServletConfig().getServletName());
    
    //      out.println(this.getServletConfig().getInitParameter("name"));
    //
            String value1 = this.getServletConfig().getInitParameter("name");
            value1 = new String(value1.getBytes("utf-8"), "GBK");
            out.println(value1);
    
            java.util.Enumeration params = this.getServletConfig()
                    .getInitParameterNames();
            for (; params.hasMoreElements();) {
                String name = params.nextElement().toString();
                String value = this.getServletConfig().getInitParameter(name);
                value = new String(value.getBytes("utf-8"), "GBK");
                out.println(value);
            }
            out.close();
        }
    }
    
    // <servlet>
    // <servlet-name>TestInitServletaaa</servlet-name>
    // <servlet-class>TestInitServlet</servlet-class>
    // <init-param>
    // <param-name>name</param-name>
    // <param-value>小王</param-value>
    // </init-param>
    // <init-param>
    // <param-name>gender</param-name>
    // <param-value>男</param-value>
    // </init-param>
    // </servlet>

    ThreeParams.htm

    <form name="form1" method="post" action="ThreeParams">
      <table width="343" border="1">
        <tr>
          <td width="92">param1</td>
          <td width="94"><input name="param1" type="text"/>      </td>
        </tr>
        <tr>
          <td>param2</td>
          <td><label>
            <input name="param2" type="text"/>
          </label></td>
        </tr>
        <tr>
          <td>param3</td>
          <td><input name="param3" type="text"/></td>
        </tr>
        <tr>
          <td> </td>
          <td><label>
            <input type="submit" value="提交" />
          </label></td>
        </tr>
      </table>
      </form>
    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    //读取三个参数
    
    public class ThreeParams extends HttpServlet {
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=GBK");
    //      解决post方式提交内容的乱码
    //      一定要写在存取第一个参数前       
    //      不要调用 response.setCharacterEncoding("GBK");
            request.setCharacterEncoding("GBK");
            
    //      解决get方式乱码问题:修改-->server.xml --> URLEncoding="GBK"
            
            PrintWriter out = response.getWriter();
            out.println(request.getParameter("param1"));
            out.println("<br>");
            out.println(request.getParameter("param2"));
            out.println("<br>");
            out.println(request.getParameter("param3"));
            out.println("<br>");
            System.out.println("in doGet");
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request, response);
        }
    }
    


    ShowParametersForm.htm

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    
    //获取所有的参数
    
    public class ShowParameters extends HttpServlet {
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=gb2312");
            PrintWriter out = response.getWriter();
            String title = "Reading All Request Parameters";
            out.println("<html><head><title>读取所有参数</title></head>"
                    + "<BODY BGCOLOR='#FDF5E6'>
    " + "<H1 ALIGN=CENTER>" + title
                    + "</H1>
    " + "<TABLE BORDER=1 ALIGN=CENTER>
    "
                    + "<TR BGCOLOR="#FFAD00">
    "
                    + "<TH>Parameter Name<TH>Parameter Value(s)");
            Enumeration paramNames = request.getParameterNames();
            while (paramNames.hasMoreElements()) {
                String paramName = (String) paramNames.nextElement();
                out.print("<TR><TD>" + paramName + "
    <TD>");
                String[] paramValues = request.getParameterValues(paramName);
                if (paramValues.length == 1) {
                    String paramValue = paramValues[0];
                    if (paramValue.length() == 0)
                        out.println("<I>No Value</I>");
                    else
                        out.println(paramValue);
                } else {
                    out.println("<UL>");
                    for (int i = 0; i < paramValues.length; i++) {
                        out.println("<LI>" + paramValues[i]);
                    }
                    out.println("</UL>");
                }
            }
            out.println("</TABLE>
    </BODY></HTML>");
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request, response);
        }
    }
    
    ---
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
      <TITLE>A Sample FORM using POST</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FDF5E6">
    <H1 ALIGN="CENTER">A Sample FORM using POST</H1>
    
    <FORM ACTION="ShowParameters" 
          METHOD="POST">
      Item Number: <INPUT TYPE="TEXT" NAME="itemNum"><BR>
      Quantity: <INPUT TYPE="TEXT" NAME="quantity"><BR>
      Price Each: <INPUT TYPE="TEXT" NAME="price" VALUE="$"><BR>
      <HR>
      First Name: <INPUT TYPE="TEXT" NAME="firstName"><BR>
      Last Name: <INPUT TYPE="TEXT" NAME="lastName"><BR>
      Middle Initial: <INPUT TYPE="TEXT" NAME="initial"><BR>
      Shipping Address:
      <TEXTAREA NAME="address" ROWS=3 COLS=40></TEXTAREA><BR>
      Credit Card:<BR>
        <INPUT TYPE="RADIO" NAME="cardType"
                         VALUE="Visa">Visa<BR>
        <INPUT TYPE="RADIO" NAME="cardType"
                         VALUE="Master Card">Master Card<BR>
        <INPUT TYPE="RADIO" NAME="cardType"
                         VALUE="Amex">American Express<BR>
        <INPUT TYPE="RADIO" NAME="cardType"
                         VALUE="Discover">Discover<BR>
        <INPUT TYPE="RADIO" NAME="cardType"
                         VALUE="Java SmartCard">Java SmartCard<BR>
      Credit Card Number: 
      <INPUT TYPE="PASSWORD" NAME="cardNum"><BR>
      Repeat Credit Card Number:
      <INPUT TYPE="PASSWORD" NAME="cardNum"><BR><BR>
      <CENTER>
        <INPUT TYPE="SUBMIT" VALUE="Submit Order">
      </CENTER>
    </FORM>
    
    </BODY>
    </HTML>
     ShowParametersMap extends HttpServlet
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    
    //获取所有的参数
    
    public class ShowParametersMap extends HttpServlet {
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=gb2312");
            PrintWriter out = response.getWriter();
            String title = "Reading All Request Parameters";
            out.println("<html><head><title>读取所有参数</title></head>"
                    + "<BODY BGCOLOR='#FDF5E6'>
    " + "<H1 ALIGN=CENTER>" + title
                    + "</H1>
    " + "<TABLE BORDER=1 ALIGN=CENTER>
    "
                    + "<TR BGCOLOR="#FFAD00">
    "
                    + "<TH>Parameter Name<TH>Parameter Value(s)");
            Map<String, String[]> paramMap = request.getParameterMap();
            Set<Map.Entry<String, String[]>> entries = paramMap.entrySet(); 
            for(Iterator<Map.Entry<String, String[]>> it = entries.iterator(); it.hasNext(); ) {
                Map.Entry<String, String[]> entry = it.next();
                String paramName = entry.getKey();
                out.print("<TR><TD>" + paramName + "
    <TD>");
                String[] paramValues = entry.getValue();
                if (paramValues.length == 1) {
                    String paramValue = paramValues[0];
                    if (paramValue.length() == 0)
                        out.println("<I>No Value</I>");
                    else
                        out.println(paramValue);
                } else {
                    out.println("<UL>");
                    for (int i = 0; i < paramValues.length; i++) {
                        out.println("<LI>" + paramValues[i]);
                    }
                    out.println("</UL>");
                }
            }
            out.println("</TABLE>
    </BODY></HTML>");
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request, response);
        }
    }
    


  • 相关阅读:
    自动化测试===【转】Robot Framework作者建议如何选择自动化测试框架
    python实战===一行代码就能搞定的事情!
    python实战===石头剪刀布,简单模型
    python基础===取txt文件的若干行到另一个文件
    python基础===文件对象的访问模式,以及计数循环的使用方法
    linux===linux在线模拟器汇总
    python基础===两个list合并成一个dict的方法
    python基础===map和zip的用法
    python基础===正则表达式(转)
    python基础===python内置函数大全
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786561.html
Copyright © 2011-2022 走看看