JSP常用的内置对象——request对象

1.request对象定义

当用户请求一个JSP页面时,JSP页面所在的Web服务器会将用户的请求信息封装到内置对象request中。

request对象主要用于接收客户端通过HTTP传送给服务器端的数据,可以通过其方法对数据进行操作。

2.request对象的常用方法

(1)getParameter(String name):用于获得客户端传送给服务器端的参数值。获取表单提交的信息,以字符串形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数没有实际参数与之对应时,返回null;

(2)getParameterValues(String name):用于获得指定参数的所有值。返回客户端传送给服务器端的所有参数名,结果集是一个Enumeration实例。当传递给此方法的参数名没有实际参数与之对应时,返回null;

(3)setAttribute(String name,java.lang.Object obj):用于设置参数值;

(4)removeAttribute(String name):用于删除请求中的一个属性。

(5)getServerName():用于获取服务器的端口号;

(6)getRequestURL():用于获取客服端的地址;

(7)getRemoteAddr():用于获取客户端的IP地址;

3.request对象应用实例

(1)request.jsp页面中输入数据并单击“提交”按钮后,跳转到requestHandle.jsp页面

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>request对象应用实例1</title>
</head>
<body>
    <form action="requestHandle.jsp" method="get">
    请输入数据:<input type="text" name="name"/>
    <input type="submit" name="submit" value="submit"/>
    </form>
</body>
</html>

 

对应的图片为:

JSP常用的内置对象——request对象

在requestHandle.jsp页面对提交的数据进行处理,并将数据输出到该页面中

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>数据处理页面</title>
</head>
<body>
<%--getParameter(String name)获取客户端传送到服务器端的参数值 --%>
<%
    String name=request.getParameter("name");
    String buttom=request.getParameter("submit");
%>
    获取到客户端提交得文本和按钮信息如下:
    <hr>
    文本框输入的信息:<%=name %>
    <br>
    按钮信息:<%=buttom %>
    <hr>
</body>
</html>

对应的结果图片为

JSP常用的内置对象——request对象

(2)request1.jsp页面是输出单选题页面,题目答完后单击“考试完成”按钮,跳转到requestHandle1.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>request单选题页面</title>
</head>
<body>
    <form action="requestHandle1.jsp" method="get">
        1.response对象的setHeader(String name,String value)方法的作用是( )。<br>
        <input type="radio" name="1" value="A">
        添加HTTP文件头<br>
        <input type="radio" name="1" value="B">
        设定指定名字的HTTP文件头的值<br>
        <input type="radio" name="1" value="C">
        判断指定名字的HTTP文件头是否存在<br>
        <input type="radio" name="1" value="D">
        向客户端发生错误信息<br>
        2.设置session的有效时间(也叫超时时间)的方法是( )。<br>
        <input type="radio" name="2" value="A">
        setMaxInactiveInterval(int interval)<br>
        <input type="radio" name="2" value="B">
        getAttributeName()<br>
        <input type="radio" name="2" value="C">
        set AttributeName(String name,Java.lang.Object value)<br>
        <input type="radio" name="2" value="D">
        getLastAccessedTime()<br>
        3.能清除缓冲区中的数据,并把数据输出到客户端是out对象中的方法是( )。<br>
        <input type="radio" name="3" value="A">
        out.newLine()<br>
        <input type="radio" name="3" value="B">
        out.clear()<br>
        <input type="radio" name="3" value="C">
        out.flush()<br>
        <input type="radio" name="3" value="D">
        out.clearBuffer()<br>
        4.pagerContext对象的findAttribute()方法的作用是( )。<br>
        <input type="radio" name="4" value="A">
        用来设置默认页面的范围或指定范围之中的已命名对象<br>
        <input type="radio" name="4" value="B">
        用来删除默认页面的范围或指定范围之中已命名的对象<br>
        <input type="radio" name="4" value="C">
        按照页面请求、会话以及应用程序范围的顺序实现对某个已命名属性的搜索<br>
        <input type="radio" name="4" value="D">
        以字符串的形式返回一个对异常的描述<br>
        <input type="submit" value="考试完成">
    </form>

</body>
</html>

对应的图片为

JSP常用的内置对象——request对象

requestHandle1.jsp对提交的数据进行处理,并将数据即本次成绩输出到页面中

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>考试成绩</title>
</head>
<body>
<h3>您本次测试的成绩是:</h3>
<%    
    float grade=0;
    String str1=request.getParameter("1");
    String str2=request.getParameter("2");
    String str3=request.getParameter("3");
    String str4=request.getParameter("4");
    if(str1==null)
        str1="";
    if(str2==null)
        str2="";
    if(str3==null)
        str3="";
    if(str4==null)
        str4="";
    if(str1.equals("B"))
        grade++;
    if(str2.equals("A"))
        grade++;
    if(str3.equals("D"))
        grade++;
    if(str4.equals("C"))
        grade++;
    out.print((int)(grade/4*100)+"分");
%>
</body>
</html>

对应的结果图片为

JSP常用的内置对象——request对象

(3)最后写一个对初学者较为复杂的数据处理页面

首先实现数据的输入

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>request对象应用实例3</title>
</head>
<body>
    <form action="requestHandle2.jsp"  method="get">
    <p>文本内容<input type="text" name="text"></p>
    <p>整数类型<input type="text" name="integer"></p>
    <p>
        1.<input type="checkbox" name="checkbox1" value="1">
        2.<input type="checkbox" name="checkbox2" value="2">
    </p>
    <p>
        下拉列表:
    <select name="select">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>    
    </select>
    </p>
    <p><input type="submit"  name="submit" value="提交">
    </form> 
</body>
</html>

对应的图片为

JSP常用的内置对象——request对象

最后进行数据处理与输出的页面

 

<%@ page import="java.util.Vector" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
    String strText,strInteger,strCheckbox1,strCheckbox2;
    String strSelect,errOut;
    String[] strOut=new String[5];
    Integer intInteger;
    int errsCount;
    Vector errs=new Vector();
    strText=request.getParameter("text");
    //得到并处理名为text的文本输入
    if(strText.length()==0){
        //向错误信息库中添加信息
        errs.addElement(new String("文本内容没有值输入"));
    }
    strInteger=request.getParameter("integer");
    //得到名为integer的输入并转化为integer,同时检查是否为数值
    try{
        intInteger=Integer.valueOf(strInteger);
        /*    Integer. valueOf()可以将基本类型int转换为包装类型Integer,
        或者将String转换成Integer,String如果为Null或“”都会报错*/
    }catch(NumberFormatException e){
        errs.addElement(new String("整数类型需要输入数字!"));
        //向错误信息库中添加信息
        intInteger=new Integer(0);
    }
    strCheckbox1=request.getParameter("checkbox1");
    strCheckbox2=request.getParameter("checkbox2");
    //得到checkbox的输入
    if(strCheckbox1==null){
        strCheckbox1="没有被选中";
    }else{
        strCheckbox1="被选中";
    }
    if(strCheckbox2==null){
        strCheckbox2="没有被选中";
    }else{
        strCheckbox2="被选中";
    }
    //得到select的输入
    strSelect=request.getParameter("select");
    strOut[0]="文本内容的值是"+strText;
    strOut[1]="<br>整数类型的值是:"+intInteger;
    strOut[2]="<br>复选框1"+strCheckbox1;
    strOut[3]="<br>复选框2"+strCheckbox2;
    strOut[4]="<br>下拉列表的值是:"+strSelect+"<br>";
    //输出结果
    errsCount=errs.size();
    errOut=new String("");
    //输出错误;
    for(int i=0;i<errsCount;i++){
        errOut=errs.elementAt(i).toString();
        errOut+="<br>";
    }
    out.println("数据处理结果<br>");
    for(String arr:strOut)
    out.println(arr);
    //输出结果
    if(errsCount!=0){
        out.println("错误原因<br>");
        out.println(errOut);
    }
%>
</body>
</html>

 

对应的结果图片为

JSP常用的内置对象——request对象

 

JSP常用的内置对象——request对象

上一篇:jquery传json数据到后台,含有单引号


下一篇:html第一,二节