jsp练习-获取form表单中的信息

练习代码

form表单

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




Insert title here


  • 输入用户名:
  • 性别:
  • 爱好: 篮球 旅游 音乐 摄影
  • E-mail:

获取信息

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




Insert title here


  • 姓名: <%=new String(request.getParameter("name").getBytes("ISO8859-1"),"utf-8") %>
  • 性别: <%=new String(request.getParameter("sex").getBytes("ISO8859-1"),"utf-8") %>
  • 爱好: <% String[] like=request.getParameterValues("like"); for(int i=0;i <%=new String(like[i].getBytes("ISO8859-1"),"utf-8") %> <% } %>
  • E-mail: <%=new String(request.getParameter("key").getBytes("ISO8859-1"),"utf-8") %>

运行结果

jsp练习-获取form表单中的信息_第1张图片

jsp练习-获取form表单中的信息_第2张图片

request对象使用

request对象是javax.servlet.http.HttpServletRequest类型的对象。该对象代表了客户端的请求信息,主要用于接收HTTP传送到服务器端的数据(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。(也就是说一次request默认只会获取一条信息

用法

首先建立一个给用户填写信息的文件index.jsp和接收并显示信息的文件show.jsp。

对需要获取信息的域设置action。例:

在show.jsp中进行设置获取信息的行为。例:

<% = new String(request.getParameterValues("id/name").getBytes("ISO-8859-1"),"utf-8")%>

注意事项

1、从表单中获取元素的方法有get和post两种。在TomCat5.0之后的版本中,get方法获取的信息格式永远只会是ISO-8859-1,不被信息原格式约束。所以在未设置输入格式,且输出内容中有中文时会出现乱码。

解决方法

输出方式由

<%=new String(request.getParameter("key") %>

改为

<%=new String(request.getParameter("key").getBytes("ISO8859-1"),"utf-8") %>

(getBytes中为原格式,括号之后的是要转换的格式)

你可能感兴趣的:(java,servlet,html)