jsp内置对象之request

一、内置对象概述

有些对象不用声明即可在jsp页面的java程序片和表达式中使用,这就是jsp 的内置对象。Jsp的常用的内置对象有request,response,session,aplication和out。Response和request对象是jsp内置对象中比较重要的两个,这两个对象提供了对服务器和浏览器通信方法的控制。   

http协议规定了信息在internet上的传输方法,特别规定了浏览器和服务器的交互方法。从网站获取页面时,浏览器在网站上打开了一个对网络服务器的连接,并发出请求。服务器收到请求后回应,所以http协议被称作“请求和响应”协议。浏览器请求有某种结构,http请求包括一个请求行、头域和可能的信息体。最普通的请求类型是对页面的一个简单请求。如下例,

Get/hello.html HTTP/1.1

Host:www.sina.com.cn

这是对网站www.sina.com.cn上页面hello.html的HTTP请求例子。首行是请求行,规定了请求的方法,请求的资源及使用的HTTP协议的版本。上例中,请求的方法是get方法,此方法获取特定的资源。上例中get方法,用来获取名为hello.html的网页。其他请求方法包括post,head,delete,trace及put方法等。

此例的第二行是头(header)。Host头给出了网站上hello.html文件的Internet地址。此例中,主机是www.sina.com.cn.

二、request对象

http通信协议是用户与服务器之间一种提交(请求)信息与响应信息(request/response)的通信协议。在jsp中,内置对象request封装了用户提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。

内置对象request是实现了ServletRequest接口类的一个实例,可以在tomcat目录找到。

用户常用html的form表单请求访问服务器的某个jsp网页(或servlet),并提交必要信息给所请求的jsp页面,表单的一般格式是:

<form action = “tom.jsp” method = “post”>

<input type = “text” name = “boy” value = “ok” / >

<input type = “submit” name = “submit” value = “提交”>

</form>

Action是form表单的属性,其属性值给出表单请求访问的jsp页面或servlet。form表单中的method属性取值get或post。Get方法和post方法的主要区别是:用get方法提交的数据,会在提交过程中显示在浏览器的地址栏中,而post方法,则不会显示在浏览器的地址栏中。上例的意思是使用post 方法向请求访问的tom.jsp页面提交信息,提交信息的手段是text.

例子1:

获取用户提交的信息。

Request对象获取用户提交信息的最常用方法是getParameter(String s).在下例中。Example4_1.jsp通过表单向example4_1_computer.jsp提交三角形三边的长度,example4_1_computer.jsp负责计算并显示三角形的面积。

example4_1.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body bgcolor="pink">
    <form action = "example4_1_computer.jsp" method = get>
        <input type="text" name = "sideA" value = 9 size = 6/>
        <input type="text" name = "sideB" value = 8 size = 6/>
        <input type="text" name = "sideC" value = 8 size = 6/>
        <input type="submit" name = "submit" value = “提交” />

    </form>

</body>
</html>

example4_1_computer.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body bgcolor="blue">
    <p style = "font-family:黑体;font-size: 36px;color: red">
        <%  String sideA = request.getParameter("sideA");
            String sideB = request.getParameter("sideB");
            String sideC = request.getParameter("sideC");
            try{  double a = Double.parseDouble(sideA);
                  double b = Double.parseDouble(sideB);
                  double c = Double.parseDouble(sideC);
                  double p = (a+b+c)/2,area = 0;
                  area = Math.sqrt( p * (p - a) * (p - b) * (p - c));
                  String result = String.format("%.2f",area);
                  out.println("<BR三边:" + sideA + "," + sideB + "," + sideC);
                  out.println("<BR>三角形面积(保留2位小数):" + result);
            }
            catch(NumberFormatException ee){
                out.println("<BR>请输入数字字符");
            }
        %>
    </p>
</body>
</html>

表单提交页面

计算结果页面

 

 

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值