request对象获取参数和URL解决中文乱码问题_jsp练习

​request对象

    ​客户端的请求信息被封装在request对象中,通过它才能了解到客户需求,然后做出响应.它是HttpServletRequest类的实例.request对象具体有请求域,即完成客户端的请求之前,该对象一直有效.常用方法如下:

String getParameter(String name)返回name制定参数的参数值

String[] getParameterValues(String name)返回包括参数name的所有值得数组

void setAttribute(String,Object);存储这个请求中的属性值

String getContentType()得到请求体的MIME类型

String getProtocol()返回请求体的MIME类型

String getServerName()返回接受请求的服务器主机名

补充:------------------------------------------------------------------------------------------------------------------------------------------------------------------

请求重定向:服务器行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变

请求转发:服务器行为request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变

request对象获取参数和URL解决中文乱码问题_jsp练习_第1张图片

1.建立一个注册页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	
	

注册


​ ​ ​ ​ ​ ​ ​ ​ ​​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​
用户名:
密码:
爱好 读书 音乐 电影 上网



测试URL传参数

2.建立一个获取用户注册信息的页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	

request内置对象

<% request.setCharacterEncoding("UTF-8"); //解决中文乱码问题,不能解决URL传参问题。解决URL中文传参乱码问题,必须修改tomcat服务器 request.setAttribute("passworld", "123456"); //密码1,主要学习attribute %>
用户名:<%=request.getParameter("username") %>
密码:<%=request.getParameter("passworld") %>
爱好:<% if(request.getParameterValues("favorite")!=null) { String[] favorites = request.getParameterValues("favorite"); for(int i=0;i
密码1:<%=request.getAttribute("passworld") %>
请求获得MIME类型:<%=request.getContentType() %>
协议类型及版本号<%=request.getProtocol() %>
服务器主机名:<%=request.getServerName() %>
服务器端口号:<%=request.getServerPort() %>
文件的长度:<%=request.getContentLength() %>
请求客户端的IP地址:<%=request.getRemoteAddr() %>
请求的真实路径:<%=request.getRealPath("request.jsp") %>
请求的上下文路径:<%=request.getContextPath() %>

       效果图展示

request对象获取参数和URL解决中文乱码问题_jsp练习_第2张图片

3.解决中文乱码问题

           ①表单提交,不光在注册代码中使用UTF-8,接收页面也必须使用UTF-8,接收代码中这一部分就解决的表单提交中文乱码问题。

request.setCharacterEncoding("UTF-8");//解决中文乱码问题,不能解决URL传参问题。解决URL中文传参乱码问题,必须修改tomcat服务器

           ②URL提交解决中文乱码问题得修改Tomcat服务器,

                  1)在Tomcat中找到server.xml

request对象获取参数和URL解决中文乱码问题_jsp练习_第3张图片

                   2)在下图位置添加代码

URLEncoding="utf-8"

request对象获取参数和URL解决中文乱码问题_jsp练习_第4张图片

                    3)重新启动Tomcat服务器即可

你可能感兴趣的:(jsp)