JavaWeb学习(九)HttpServletRequest基本应用——客户端提交表单到服务器(2)

一、获得客户机请求参数(客户端提交的数据)

  • getParameter(String)方法(常用)
  • getParameterValues(String name)方法(常用)
  • getParameterNames()方法(不常用)
  • getParameterMap()方法(编写框架时常用)

工程树:

JavaWeb学习(九)HttpServletRequest基本应用——客户端提交表单到服务器(2)_第1张图片

Request.java

import java.io.IOException;
import java.text.MessageFormat;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * 获取客户端通过Form表单提交上来的参数
 */
public class Request extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //客户端是以UTF-8编码提交表单数据的,所以需要设置服务器端以UTF-8的编码进行接收,否则对于中文数据就会产生乱码
        request.setCharacterEncoding("UTF-8");
        
        /**
         * 编  号(文本框):
           
         */
        String userid = request.getParameter("userid");//获取填写的编号,userid是文本框的名字,
       
        /**
         * 用户名(文本框):
         */
        String username = request.getParameter("username");//获取填写的用户名
        
        /**
         * 密  码(密码框):
         */
        String userpass = request.getParameter("userpass");//获取填写的密码
        
        String sex = request.getParameter("sex");//获取选中的性别
        String dept = request.getParameter("dept");//获取选中的部门
        
        //获取选中的兴趣,因为可以选中多个值,所以获取到的值是一个字符串数组,因此需要使用getParameterValues方法来获取
        String[] insts = request.getParameterValues("inst");
       
        String note = request.getParameter("note");//获取填写的说明信息
        String hiddenField = request.getParameter("hiddenField");//获取隐藏域的内容
        
        String instStr="";
        /**
         * 获取数组数据的技巧,可以避免insts数组为null时引发的空指针异常错误!
         */
        for (int i = 0; insts!=null && i < insts.length; i++) {
            if (i == insts.length-1) {
                instStr+=insts[i];
            }else {
                instStr+=insts[i]+",";
            }
        }
        
        String htmlStr = "" +
                            "" +
                            "" +
                            "" +
                            "" +
                            "" +
                            "" +
                            "" +
                            "" +
                        "
填写的编号:{0}
填写的用户名:{1}
填写的密码:{2}
选中的性别:{3}
选中的部门:{4}
选中的兴趣:{5}
填写的说明:{6}
隐藏域的内容:{7}
"; htmlStr = MessageFormat.format(htmlStr, userid,username,userpass,sex,dept,instStr,note,hiddenField); response.setCharacterEncoding("UTF-8");//设置服务器端以UTF-8编码输出数据到客户端 response.setContentType("text/html;charset=UTF-8");//设置客户端浏览器以UTF-8编码解析数据 response.getWriter().write(htmlStr);//输出htmlStr里面的内容到客户端浏览器显示 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }

index.jsp

JavaWeb学习(九)HttpServletRequest基本应用——客户端提交表单到服务器(2)_第2张图片

 JavaWeb学习(九)HttpServletRequest基本应用——客户端提交表单到服务器(2)_第3张图片

 

PS:  MessageFormat.format

String msg = "{0}{1}{2}{3}{4}{5}{6}{7}{8}";
Object [] array = new Object[]{"A","B","C","D","E","F","G","H","I",};		
String value = MessageFormat.format(msg, array);
System.out.println(value);  // 输出:ABCDEFGHI

转自:https://www.cnblogs.com/xdp-gacl/p/3798347.html

你可能感兴趣的:(JavaWeb)