JSP内置对象之request对象使用案例

今天想和大家分享的就是JSP当中的一个内置对象request对象,此对象可以获取客户端发送的请求,通过getParameter()方法来获取客户端发送的请求参数值。当然我们需要注意的一个问题就是中文乱码的问题,我们传递的参数是String类型但是如果将该参数值改成中文的话就会产生乱码,原因是请求参数的文字编码和页面中的编码方式不一致导致的,所有的request请求都是iso-8859-1的,需要将请求参数的编码方式通过String的构造方法来进行相应的转变,转变的原则是要转变成和页面的编码方式一致。具体参考代码如下,

首先是请求页面的代码:

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




首页


	
  • 输入用户姓名:
  • 选择性别:
  • 选择密码提示问题:
  • 请输入问题的答案:
  • 请选择个人爱好:
    唱歌跳舞 上网冲浪 户外登山
    体育运动 读书看报 欣赏电影
接着是接受页面的代码:

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




request对象举例


	
  • 输入用户姓名:<%=new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8")%>
  • 选择性别:<%=new String(request.getParameter("sex").getBytes("iso-8859-1"),"utf-8")%>
  • 选择密码提示问题:<%=new String(request.getParameter("question").getBytes("iso-8859-1"),"utf-8")%>
  • 请输入问题答案:<%=new String(request.getParameter("key").getBytes("iso-8859-1"),"utf-8")%>
  • 请选择个人爱好: <% String[] like = request.getParameterValues("like"); for(int i = 0;i < like.length;i++) { %> <%=new String(like[i].getBytes("iso8859-1"),"utf-8")+"  "%> <% } %>
  • 客户端使用的协议:<%=request.getProtocol() %>
  • 客户端发送请求的方法:<%=request.getMethod()%>
  • 客户端请求的路径:<%=request.getContextPath()%>
  • 客户端IP地址:<%=request.getRemoteAddr()%>
  • 客户机名称:<%=request.getRemoteHost()%>
  • 客户机请求端口号:<%=request.getRemotePort()%>
  • 接收客户信息的页面:<%=request.getServletPath()%>
  • 获取URI;<%=request.getRequestURI()%>
  • 获取URL:<%=request.getRequestURL()%>
客户端运行结果:

JSP内置对象之request对象使用案例_第1张图片

服务器端运行结果:

JSP内置对象之request对象使用案例_第2张图片

你可能感兴趣的:(程序,java)