201819102013 倪永剑

一、request内置对象

定义:request内置对象是最常用的对象之一,它代表的是java.servlet.HttpServletRequest类的对象。request内置对象中包含了有关浏览器请求的信息,并提供了多个用于获取cookie、header以及session内数据的方法。

request内置对象的常用方法实例:

<%@ page contentType="text/html;charset=GBK" %>
<html>
<head><title> request 内置对象的实例 </title></head>
<body>
<form aciton="request.jsp">
<br>Get request results:
<br><input type="text" name="myname">
<br><input type="submit" name="get value">
</form>
返回HTTP 请求信息中使用的方法名称:<%=request.getMethod()%>
<br>
返回请求信息中调用Servlet 的URL 部分:<%=request.getServletPath()%>
<br>
返回HTTP GET 请求信息中URL 之后的查询字符串:<%=request.getQueryString()%>
<br>
返回请求实体的MIME 类型:<%=request.getContentType()%>
<br>
返回请求信息中的协议名名字和版本号:<%=request.getProtocol()%>
<br>
有关任何路径信息:<%=request.getPathInfo()%>
<br>
返回接受请求的服务器主机:<%=request.getServerName()%>
<br>
返回服务器的端口号:<%=request.getServerPort()%>
<br>
返回提交请求的客户机的规范名字:<%=request.getRemoteHost()%>
<br>
返回提交请求的客户机的IP地址:<%=request.getRemoteAddr()%>
<br>
返回请求中使用的模式(协议)名字:<%=request.getScheme()%>
<br>
返回这个request值,提交过来的值:<%=request.getParameter("myname")%>
</body>
</html>

在这里插入图片描述

二、response内置对象

定义:response对象与request对象相对应,它是用于响应客户请求,向客户端输出信息。response是javax.servlet.HttpServletResponse类的对象。

response内置对象的页面重定向实例:

<%@ page language="java" contentType="text/html;charSet=GBK" %>
<html>
<body>
<center><h3>response.sendRedirect()使用例子</h3></center>
<form action="index4.jsp">
    <table border=1>
        <tr>
            <td>
                <select name="pg">
                    <option value=0>本页</option>
                    <option value=1>hello页面</option>
                    <option value=2>goodbye页面</option>
                </select>
            </td>
        </tr>
        <tr><td><input type="submit" value="提交"></td></tr>
    </table>
</form>
<%
String pg = request.getParameter("pg"); //获取传递参数pg
if("1".equals(pg)) //如果pg等于1
response.sendRedirect("hello.jsp"); //则页面重定向为hello.jsp
else if("2".equals(pg)) //如果pg等于2
response.sendRedirect("goodbye.jsp"); //则页面重定向为goodbye.jsp
else //否则不进行页面重定向,即还显示本页
out.println("没有进行页面重定向");
%>
</body>
</html>

在这里插入图片描述
三、session内置对象

定义:session是与请求有关的会话期,它是java.servlet.http.HttpSession类的对象,用来表示和存储当前页面的请求信息。

session内置对象的问题回答操作实例:
1.第一个页面仅仅包含了一个要求输入用户名的HTML表单:

<%@ page contentType="text/html;charSet=GBK" %>
<html>
    <body>
    <center><h3>用户名输入页面</h3></center>
    <!—提交表单 -->
    <form action="session2.jsp">
        <table border="1" align="center">
        <tr><td>用户名:<input type="text" name="username" size="10"></td></tr>
        <tr><td align="center"><input type="submit" value="提交"></td></tr>
        </table>
    </form>
    </body>
</html>

在这里插入图片描述
2.第二个页面需要通过request对象获取第一个页面中的username参数值,并把它保存在session中。session对象是以哈希表存储信息的。

<%@ page contentType="text/html;charSet=GBK" %>
<html>
<body>
    <center><h3>回答问题页面</h3></center>
<%
    String username = request.getParameter("username"); //获得传递参数username
    session.setAttribute("theusername",username); //把用户名保存在session中,String可以当着对象
%>
    <p>您的用户名为:<%=username%><p>
    <!—提交表单 -->
    <form action="session3.jsp">
        <table border="1" align="center">
            <tr><td>您喜欢吃什么:<input type="text" name="food" size="10"></td></tr>
            <tr><td align="center"><input type="submit" value="提交"></td></tr>
        </table>
    </form>
</body>
</html>

在这里插入图片描述
3.第三个页面主要任务是显示回答结果。

<%@ page contentType="text/html;charSet=GBK" %>
<html>
<body>
    <center><h3>显示答案</h3></center>
<%! String food="";%>
<%
    food = request.getParameter("food"); //取得food参数值
    String name = (String)session.getValue("theusername"); //从session取出关键字为theusername的对象
%>
    您的用户名:<%=name%>
    <br>您喜欢吃:<%=food%>
</body>
</html>

在这里插入图片描述
四、page内置对象
定义:page对象有点类似于Java编程中的this指针,就是指当前JSP页面本身。page是java.lang.Object类的对象。

page的常用方法实例:

<%@ page language="java" contentType="text/html;charSet=GBK" %>
<%@ page import="java.lang.Object" %>
<html>
    <body>
        <center><h3>Page内置对象的实例</h3></center>
        <%!Object obj; %> <-- 对象申明 -->
        getClass:<%=page.getClass() %>
        <br>hashCode:<%=page.hashCode()%>
        <br>toString:<%=page.toString()%>
        <br>equals:<%=page.equals(obj) %>
        <br>equlas2:<%=page.equals(this) %>
    </body>
</html>

在这里插入图片描述

五、application内置对象
定义:application是javax.servlet.ServletContext类对象的一个实例,用于实现用户之间的数据共享(多使用于网络聊天系统)。

application内置对象的网站计数器实例:

<%@ page contentType="text/html;charSet=GBK" %>
<html>
<h4>获得application信息</h4>
<br>ServletInfo:<%=application.getServerInfo()%>
<br>application.jsp real path: <%=application.getRealPath("/application.jsp")%>
<br>HelloServlet Real Path: <%=application.getRealPath("/servletsample/HelloServlet")%>
<br>Major Version: <%=application.getMajorVersion()%>
<br>get MIME: <%=application.getMimeType("/servletsample/demo.htm")%>
<br>getResource: <%=application.getResource("/HelloJSP.jsp")%>
<% 
    out.println("<br><h4>设置数值</h4>");
    application.setAttribute("name","zzb"); //把字符串“zzb”对象保存在application中
    application.setAttribute("counter","1"); //把字符串值“1”保存在application中
    out.println("set name=zzb");
    out.println("<br>set counter=1");
%>
</body>
</html>

在这里插入图片描述

六、out内置对象
定义:out对象是在JSP开发过程中使用得最为频繁的对象,但使用也是最为简单的。

out对象的常用方法如下:

print():在页面中打印出字符串信息,不换行;
println():在页面中打印出字符串信息,并且换行;
clear():清除掉缓冲区中尚存在的内容。
clearBuffer():此方法清除掉当前缓冲区中尚存在的内容。
flush():清除掉数据流。
getBufferSize():返回缓冲区的内存大小,单位为字节流。如果不进行缓冲区的设置,大小为0。
getRemaining():此方法返回缓冲区还剩下多少字节数可以使用。
isAutoFlush():检查当前缓冲区是设置为自动清空,还是满了就抛出异常。
close():关闭输出流。

七、exception内置对象
定义:exception内置对象是用来处理页面出现的异常错误,它是java.lang.Throwable类的一个对象。前面已经讲过,在实际JSP网站开发过程中,通常是在其页面中加入page指令的errorPage属性来将其指向一个专门处理异常错误的页面。

八、config内置对象
定义:config内置对象是ServletConfig类的一个实例。在Servlet初始化的时候,JSP引擎通过config向它传递信息。这种信息可以是属性名/值匹配的参数,也可以是通过ServletContext对象传递的服务器的有关信息。

九、pageContext内置对象
定义:pageContext对象是一个比较特殊的对象。它相当于页面中所有其他对象功能的最大集成者,即使用它可以访问到本页面中所有其他对象,例如前面已经描述的request、response以及application对象等。

pageContext对象的简单实例:

<html>
<body>
<% 
    request.setAttribute(“MyName”,”zzb1”); //把MyName保存在request范围中
    session.setAttribute(“MyName”,”zzb2”); //将MyName再保存再session范围中
    application.setAttribute(“MyName”,”zzb3”); //将MyName保存在application范围中
%>
request: <%=pageContext.getRequest().getAttribute(“MyName”)%>
<br>session: <%=pageContext.getSession().getValue(“MyName”)%>
<br>application: <%=pageContext.getServletContext().getAttribute(“MyName”)%>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值