servlet之Request接收请求参数入门

编写步骤

      1、编写表格,提供表单字段:username、password、hobby、以post方式提交

<form action="/test/login" method="post">
	用户名:<input type="text" name="username" value="jack"/><br/>
	密码:<input type="password" name="password" value="123456"/><br/>
        爱好:<input type="checkbox" name="hobby" value="读书" checked="checked"/>读书
             <input type="checkbox" name="hobby" value="写词" checked="checked"/>写词
             <input type="checkbox" name="hobby" value="朗诵"/>朗诵<br/>
	<input type="submit" value="post提交"><br/>
</form>

      2、编写Servlet实现类,使用对应方法获得请求参数,并处理POST中文乱码。


public class Demo01Servlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
                //请求参数中文乱码
                request.setCharacterEncoding("UTF-8");

		//1、使用参数名获得一个值
                //1.1、获得用户名
                String username = request.getParameter("username");
                //1.2、获得密码
                String password = request.getParameter("password");
		System.out.println(username + " : " + password);

		//2、使用参数名获得一组值
		String[] hobbies = request.getParameterValues("hobby");
		System.out.println(Arrays.toString(hobbies));

		//3、获得所有数据,遍历Map
		System.out.println("-----------------");
		Map<String,String[]> allData = request.getParameterMap();
                for(Map.Entry<String,String[]> entry : allData.entrySet()){
                    System.out.println(entry.getKey());
                    System.out.println("--->");
                    System.out.println(Arrays.toString(entry.getValue()));
                }
		
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

                        /*开发中我们发现,doPost和doGet两个方法编写的内容相同
                         *所以常使用一个调用另一个,此处我们使用doPost 调用 doGet
                         *所有的内容之后都编写doGet方法中
                         */

		doGet(request, response);
	}
}

        3、编写Servlet配置文件

<servlet>
    <servlet-name>Demo01Servlet</servlet-name>
    <servlet-class>com.klh.servlet.Demo01Servlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Demo01Servlet</servlet-name>
    <url-pattern>/demo01Servlet</url-pattern>
 </servlet-mapping>

        4、测试,访问“http://localhost:8080/test/form.html”,并提交表单,控制台显示信息。

猜你喜欢

转载自blog.csdn.net/weixin_42078450/article/details/86718465