java web开发——第四章JSP内置对象


主要内容

  1. request对象
  2. respond对象
  3. session对象
  4. out对象
  5. application对象

4.1 request对象

response对象用于响应客户请求,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。response对象在JSP页面内有效。用户通常使用form表单来请求:

<form  action="请求的页面或servlet" method=get|post>
	提交手段
 </form>

4.1.1. 获取用户提交的信息

request对象茯取用戸提交信息的最常用的方法是getParameter(String s)
在下面的例4_ 1中,example4_ 1. jsp通过表単向
example4_ 1_ computer. jsp提交三角形三边的长度,example4_1_computer.jsp负责计算和显示示三角形的面釈。

example4_ 1. jsp

<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %> 
<HTML><body bgcolor = #ffccff> 
   <form action="example4_1_computer.jsp" method=post >
       <input type="text" name="sizeA" value=9 size=6 />
       <input type="text" name="sizeB" value=8 size=6 /> 
       <input type="text" name="sizeC" value=8 size=6 />
       <input type="submit" name="submit" value="提交"/>
   </form> 
</body></HTML>

example4_1_computer.jsp

<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %> 
<HTML><body bgcolor = #ccffff>
<p style="font-family:黑体;font-size:36;color:blue">
<%  
    String sideA=request.getParameter("sizeA");
    String sideB=request.getParameter("sizeB");
    String sideC=request.getParameter("sizeC");
    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>

4.1.2 处理汉字信息

request.setCharacterEncoding(“utf-8”)

4.1.3 处理HTML标记

  1. form标记
> <form  action="请求的页面或servlet" method=get|post>
	提交手段
	提交键
 </form>
  1. input标记
 <input type="GUI对象" name="GUI对象名字" value="GUI的默认值" />

下面为GUI对象可以选择的类型

  • 文本框text

  • 单选框radio

  • 复选框checkbox

  • 口令框password

  • 隐藏hidden

  • 提交键submit

  • 重置键rest

  1. select,option标记
   <select id=tom name="自己设置" >
      <Option value="item1">文本描述</option>
      <Option value="item2">文本描述</option>
      ......
   </select> 
  1. textArea标记
   <textArea name="名字" >
		row = "文本可见行数" cols="文本可见列数">
   </textArea> 
  1. style样式标记
<style>
   #tom{
      font-family:宋体;font-size:26;color:blue 
   }
</style>

id="tom"调用

  1. table标记
<table  border=边框宽度>
  <tr width=该行的宽度>
  	<th width=单元格的宽度>单元格数据</th>
  	...
	<th width=单元格的宽度>单元格数据</th>
  </tr>
...
</table>
  1. image标记
<image src="图像文件的URL" width= height=>描述文字 </image>
  1. embed标记
<embed src="音频文件的URL">描述文字 </embed>

4.1.4 处理超链接

基本格式:
<a href=链接的页面地址>文字说明</a>

4.2 respond对象

response对象用于响应客户请求,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。response对象在JSP页面内有效

4.2.1 动态响应contentType属性

page指令只能为contentType指定一个值来决定响应的MIME类型。

用setContentType(String s)方法可以动态改变contentType属性值,该方法中的参数 s 可取值: text / html 、text / plain 、image / gif 、image / x - xbitmap 、image / jpeg 、image / pipeg 、application / x - shockwave - flash 、application / vnd . ms - powerpoint 、 application / vnd . ms - excel , application / msword 等。

4.2.2 respond对象的重定向

使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这一点与转发不同。在客户端浏览器上将会得到跳转的地址,并重新发送请求链接。用户可以从浏览器的地址栏中看到跳转后的地址。进行重定向操作后,request中的属性全部失效,并且开始一个新的request对象。
sendRedirect()方法的语法格式如下:

response.sendRedirect(URL url);

4.3 session对象

  1. session对象的id

服务器给它分配一个session,这个session有一个ID号,也就是说,不同用户的session是不一样的,每个用户都有一个session,每个session都有一个不同的ID。
在返回请求的时候,它会把session的ID号返回给客户端,然后客户端在发第二次请求的时候,这个请求就包括session ID了,通过这种方式识别用户的多次请求,因此session ID是一个很关键的问题。
session对象被分配了一个String类型的ID,服务器将ID发送到客户端,存放在客户的Cookie中。

有些时候,如果清理掉Cookie的话,再访问服务器就和没登录一样,因为将服务器缓存在浏览器的内容给清空了,因此session和Cookie是配套使用的。

同一用户在同一Web服务目录中的各个页面的session相同。 不同用户的session对象互不相同,具有不同的ID

  1. session对象与URL重写

session 对象能和用户建立起一一对应关系依赖于用户浏览器是否支持 Cookie ,如果用户端浏览器不支持 Cookie
那么用户在不同网页之间的 session 对象可能是互不相同的,因为 Tomcat 服务器无法将 id
存放到用户端浏览器中,就不能建立session 对象和用户的一一对应关系。用户将浏览器 Cookie 设置为禁止后(选择浏览器( IE
)菜单→工具→ Internet 选项→隐私→高级,将第三方 Cookie
设置成禁止),运行上述例4_13会得到不同的结果。也就是说,同一用户对应了多个 session 对象,这样 Tomcat
服务器就无法知道在这些页面上访问的实际上是同一个用户。 如果用户不支持 Cookie , JSP 页面可以通过 URL 重写来实现
session 对象的唯一性。所谓 URL 重写,就是当用户从一个页面重新链接到一个页面时,通过向这个新的 URL 添加参数,把
session 对象的 id 传带过去,这样就可以保障用户在该 Web 服务目录的各个页面中的 session 对象是完全相同的。可以让
response 对象调用 encodeURL ()或 encodeRedirectURL ()方法实现 URL 重写。

  1. session对象存储数据
    (1) public void setAttribute (String key,Object obj)。session 对象可以调用该方法将参数 Object 指定的对象obj添加到 session 对象中,并为添加的对象指定了一个素引关键字,如果添加的两个对象的关键字相同,则先前添加的对象被清除。
    (2)public Object getAttribute(String kcy)。获取 session对象索引关键字是key的对象。由于任何对象都可以添加到scssion对象中,因此用该方法取回对象时,应显式转化为原来的类型。
    (3)public Enumeration getAttributeNames()。session 对象调用该方法产生一个枚举对象,该枚举对象使用nextElemets()遍历session中的各个对象所对应的关键字。
    (4)public void removeAttribute(String key)。session 对象调用该方法移掉关键字key对应的对象。
  2. session对象的生存期限

一个用户在某个 Web 服务目录的 session 对象的生存期限依赖于 session 对象是否调用 invalidate ()方法使得 session 无效或 session 对象达到了设置的最长的"发呆"状态时间以及用户是否关闭浏览器或服务器被关闭

4.4 application 对象

4.4.1 application 对象的常用方法

(1) public void setAttribute ( String key , Object obj ). application对象 调用该方法将参数 Object 指定的对象 obj 添加到 application 对象中,并为添加的对象指定了一个索引关键字。
(2) public Object getAttibute ( String key )获取的application对象含有的关键字是 key 的对象。由于任何对象都可以添加到 application 对象中,因此用该方法取回对象时,应显式转化为原来的类型。
(3) public Enumeration getAttributeNames(),application对象调用该方法产生的 Enumeration (枚举)对象,该 Enumeration 对象使用 ncxtElemets ()遍历 application 中的各个对象所对应的关键字。
(4) public void removeAttribute ( String key ),删除关键字key 的对象。
(5) public String getServletlnfo ()。获取 Servlet 编译器的当前版本的信息。

4.5 out对象

out对象是一个输出流,用来向用户端输出数据。在前面的许多例子里曾多次使用 out 对象进行数据的输出。 out
对象可调用如下的方法用于各种数据的输出,例如:

  • out . print ( boolean )或 out . println ( boolean )用于输出一个布尔值。(2) out . print ( char )或 out . println ( char )用于输出一个字符。
  • out . print ( double )或 out . println ( double )用于输出一个双精度的浮点数。
  • out . print ( fload )或 out . println ( float )用于输出一个单精度的浮点数。
  • out . print ( long )或 out . println ( long )用于输出一个长整型数据。
  • out . print ( String )或 out . println ( String )用于输出一个 String 对象的字符序列。

总结

本章重点主要掌握request 对象、response 对象、session对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书为两部,需 要全部下载下载一起解压,此部为第一部 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTMLJavaScript简介 2.1、服务器与浏览器 2.2、HTML简介 2.2.1、HTML元素概览 2.2.2、创建显示WEB页 2.2.3、创建表单WEB页 2.3、JavaScript简介 2.3.1、JavaScript的基本语法 2.3.2、事件处理 2.3.3、window对象 2.4、本章摘要 2.5、开发实战讲解 第3章 XML简介 3.1、认识XML 3.2、XML解析 3.2.1、DOM解析操作 3.2.2、SAX解析操作 3.2.3、XML解析的好帮手:JDOM 3.2.4、最出色的解析工具:DOM4J 3.3、使用JavaScript操作DOM 3.4、开发实战讲解(基于Oracle数据库) 第4章 Tomcat服务器的安装及配置 4.1、Web容器简介 4.2、Tomcat简介 4.3、Tomcat服务器的下载及配置 4.3.1、Tomcat下载 4.3.2、Tomcat安装 4.3.3、服务器配置 4.4、编写第一个jsp文件 4.5、交互性 4.6、本章摘要 4.7、开发实战讲解 第5章 JSP基础语法 5.1、JSP注释 5.2、Scriptlet 5.2.1、第一种Scriptlet: 5.2.2、第二种Scriptlet: 5.2.3、第三种Scriptlet: 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态包含 5.6、跳转指令 5.7、实例操作:用户登陆程序实现(JSP + JDBC实现) 5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围(pageContext范围) 6.2.2、request属性范围 6.2.3、session属性范围 6.2.4、application属性范围 6.2.5、深入研究page属性范围 6.3、request对象 6.3.1、乱码解决 6.3.2、接收请求参数 6.3.3、显示全部的头信息 6.3.4、角色验证 6.3.5、其他操作 6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得Session Id 6.5.2、登陆及注销 6.5.3、判断新用户 6.5.4、取得用户的操作时间 6.6、application对象 6.6.1、取得虚拟目录对应的绝对路径 6.6.2、范例讲解:网站计数器 6.6.3、查看application范围的属性 6.7、WEB安全性及config对象 6.7.1、WEB安全性 6.7.2、config对象 6.8、out对象 6.9、pageContext对象 6.10、本章摘要 6.11、开发实战讲解(基于Oracle数据库) 第7章 JavaBean 7.1、JavaBean简介 7.2、在JSP中使用JavaBean 7.2.1、WEB开发的标准目录结构 7.2.2、使用JSP的page指令导入所需要的JavaBean 7.2.3、使用指令 7.3、JavaBean与表单 7.4、设置属性: 7.4.1、设置指定的属性 7.4.2、指定设置属性的参数 7.4.3、为属性设置具体内容 7.5、取得属性: 7.6、JavaBean的保存范围 7.6.1、page范围的JavaBean 7.6.2、request范围的JavaBean 7.6.3、session范围的JavaBean 7

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值