网站开发作业2020.09.15

JSP运行原理

201819102037 尹凤波

1.request对象

<form action="" method="post">
   用户名:<input type="text" name="username">&nbsp;&nbsp;
   密 码:<input type="text" name="userpass">&nbsp;&nbsp;
   <input type="submit" value="进入" >
</form>

在这里插入图片描述

</head>
  <body bgcolor="#FFFFF0">
  <form action="" method="post">
    <input type="text" name="qwe">
    <input type="submit" value="提交">
  </form>
  请求方式:<%=request.getMethod()%><br>
  请求的资源:<%=request.getRequestURI()%><br>
  请求用的协议:<%=request.getProtocol()%><br>
  请求的文件名:<%=request.getServletPath()%><br>
  请求的服务器的IP:<%=request.getServerName()%><br>
  请求服务器的端口:<%=request.getServerPort()%><br>
  客户端IP地址:<%=request.getRemoteAddr()%><br>
  客户端主机名:<%=request.getRemoteHost()%><br>
  表单提交来的值:<%=request.getParameter("qwe")%><br>
  </body>
</html>

在这里插入图片描述

2.out 对象
out 对象是一个输出流,用来向客户端输出数据,可以是各种数据类型的内容,同时,它还可以管理应用服务器上的输出缓冲区,缓冲区的默认值是 8KB,可以通过页面指令 page 来改变默认大小。

</head>
  <body bgcolor="#FFFFF0">
  <h2>out对象管理输出缓冲区</h2>
  <%out.println("学习使用out对象管理输出缓冲区:<br>");%> <br>
  缓冲大小:<%=out.getBufferSize()%> <br>
  剩余缓存大小:<%=out.getRemaining()%> <br>
  是否自动刷新:<%=out.isAutoFlush()%> <br>
  </body>
</html>

在这里插入图片描述
3.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.

<%  out.print(session.getAttribute("text1"));out.print("<br>");  out.print(session.getAttributeNames());out.print("<br>");  out.print(session.getCreationTime()/(24*3600000*365));out.print("<br>");  out.print(session.getId());out.print("<br>");  out.print(session.getLastAccessedTime()/(24*3600000*365));out.print("<br>");  out.print(session.getMaxInactiveInterval());out.print("<br>");%>

在这里插入图片描述
4、application
application对象,上下文对象,其生命周期和工程的生命周期一致。application类似于系统的"全局变量",用于实现用户之间的数据共享

<%   application.setAttribute("1","1111");  application.setAttribute("2","2222");  application.removeAttribute("2");  out.print(application.getAttribute("1"));out.print("<br>");  out.print(application.getAttribute("2"));out.print("<br>");  out.print(application.getAttributeNames());out.print("<br>");  out.print(application.getContextPath());out.print("<br>");  out.print(application.getMajorVersion());out.print("<br>");  out.print(application.getMinorVersion());out.print("<br>");  out.print(application.getServerInfo());out.print("<br>");  out.print(application.getServletContextName());out.print("<br>");%>

在这里插入图片描述
5、response
response对象用于响应客户请求,向客户端输出信息。发送到客户端以响应客户端的请求。

<html><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <title>Insert title here</title></head><body><form action="index.jsp"method="post">  用户名:<input type="text" name="username"/></br/>  密  码:<input type="password" name="pwd"/></br/>  <input  type="submit" name="登陆"/></form></body></html>

在这里插入图片描述

6、page
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例

<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) %>

在这里插入图片描述
7、pageContext
pageContext能作为一个域对象来存储数据,通常称为page域,而这个page域的范围只是在当前JSP页面中。例如我们可以使用pageContext.setAttribute方法和pageContext.getAttribute方法(这两个方法都从pageContext的父类JSPContext类继承而来)来在page域中设置和获取某个属性值
pageContext中最重要的方法:findAttribute方法,使用pageContext.findAttribute方法能从四个域(page, request, session, context)中寻找存储的数据,查找的顺序也是从小到大(page—>request—>session—>context),只要在某个域中能查到相对应的键值对,就返回,如果四个域都没有则返回null。这个方式对于EL表达式是最重要的,例如JSP页面中有一个EL表达式: ${data} 最终在Servlet中就会被翻译成 pageContext.findAttribute(“data”)。

<h4>向pageContext域存取东西</h4><%  pageContext.setAttribute("name", "page");  pageContext.setAttribute("name", "page", pageContext.PAGE_SCOPE);  request.setAttribute("name", "request");  pageContext.setAttribute("name", "request", pageContext.REQUEST_SCOPE);  pageContext.setAttribute("name", "session", pageContext.SESSION_SCOPE);  pageContext.setAttribute("name", "pageContext", pageContext.APPLICATION_SCOPE);%><%=pageContext.getAttribute("name",pageContext.PAGE_SCOPE) %><%=pageContext.getAttribute("name",pageContext.REQUEST_SCOPE) %><%=pageContext.getAttribute("name",pageContext.SESSION_SCOPE) %><%=pageContext.getAttribute("name",pageContext.APPLICATION_SCOPE) %>

在这里插入图片描述

8、config
这个对象最主要的作用就是可以取得正在使用服务器的配置信息。这个对象是需要通过pageContext对象来获得的

<%  String servletName=config.getServletName();  out.print("servlet-name:"+servletName);%>

在这里插入图片描述

9、exception
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值