第3章 JSP内置对象

文章目录

  • 第3章 JSP内置对象
    • @[toc]
    • 3.1 request对象
      • 1. 获取用户提交信息
      • 2. 处理汉字信息
      • 3. 常用方法举例
      • 4. 处理HTML标记
      • 5. 处理超链接
    • 3.2 response对象
      • 1. 动态响应``contentType``属性
      • 2. ``reeponse``的``HTTP``头文件
      • 3. ``response``重定向
      • 4. `response`的状态行
    • 3.3 session对象
      • 1. session对象的id
      • 2. session对象与URL重写
      • 3. session对象存储数据
    • 3.4. application对象
      • 1. application对象的常用方法:
      • 2. 用application制作留言板
    • 3.5 out对象

JSP的常用内置对象有resquest, response, session, applicationout。其中responserequest对象是JSP内置对象中比较重要的两个,这两个对象提供了对服务器和浏览器通信方法的控制。

3.1 request对象

在JSP中,内置对象request封装了用户提交的信息,调用对应方法可获得封装信息。

一般格式为:

<form action="提交信息的目的地页面" method=get|post>提交手段
</form>

<form>是表单标记,其中getpost方法区别主要在于,使用get方法提交的信息会显示在浏览器地址栏中,而post不会显示。

    <form action="tom.jsp" method="post"><input type="text" name="boy" value="ok"><input type="submit" name="submit" value="送出" ></form>

request对象可以使用getPartameter(String s)方法获取表单通过text提交的信息。

1. 获取用户提交信息

<%@page contentType="text/html;charset=utf8"%>
<HTML><form action="example3_1_com.jsp" method="post"><input type="text" name="EA" value=1 size=6><input type="text" name="EB" value=1 size=6><input type="text" name="EC" value=1 size=6><input type="submit" name="submit" value="submit"></form>
</HTML>
<%@page contentType="text/html;charset=utf8"%>
<HTML><%String sa = request.getParameter("EA");String sb = request.getParameter("EB");String sc = request.getParameter("EC");double a = Double.parseDouble(sa);double b = Double.parseDouble(sb);double c = Double.parseDouble(sc);out.println(a+b+c);%>
</HTML>

2. 处理汉字信息

  1. 对信息重新编码
  2. request设置编码

3. 常用方法举例

4. 处理HTML标记

去给?学习HTML!

5. 处理超链接

HTML的超链接标记:

<a href=链接地址>文字说明</a>

3.2 response对象

1. 动态响应contentType属性

<%@page contentType="text/html;charset=utf8"%>
<HTML><form action="" method="get" name=form><input type="submit" value="yes" name="submit"></form><%String str = request.getParameter("submit");if(str.equals("yes")==true   )response.setContentType("application/msword; charset=utf8");%>
</HTML>

2. reeponseHTTP头文件

常用:

addHeader(String head, String value);
setHeader(String head, String value);

3. response重定向

当需要将用户重新引导之另一个页面时,可以使用response的``sendRedircet(URL URL)方法实现用户的重定向。例子如下:

<%@page contentType="text/html;charset=utf8"%>
<HTML><form action="rec.jsp" method="post" name=form><input type="text" name="name"><input type="submit" value="ok"></form></HTML>
<%@page contentType="text/html;charset=utf8"%>
<HTML><%String name = request.getParameter("name");if(name==null || name.length()==0)response.sendRedirect("test.jsp");%>Welcome &nbsp <%=name%>
</HTML>

4. response的状态行

一般不需要修改状态行,在出现问题时服务器会自动响应,如果想要改变,可使用setStatus(int n)方法是指响应的状态。

3.3 session对象

Tomcat服务器内置session对象记录有关连接的信息,是实现了HttpSession的一个实例。

1. session对象的id

当一个用户首次访问Web服务的一个JSP页面是,服务器会产生一个session对象,对给对象分配一个String类型的id号,记录用户相关信息,直到最大生存时间或服务器关闭。

2. session对象与URL重写

Session对象是否能和用户创建对应关系依赖于是否支持Cookie。如果用户端不支持Cookie,JSP页面可以通过URL重写来实现Session的唯一性。

String str = response.encodeRedirectURL("second.jsp");

3. session对象存储数据

session对象使用下列方法处理数据

  • public void setAttribute(String key, Object obj)
  • public Object getAttribute(String key)
  • public Enumeration getAttributeNames()
  • public void removeAttribute(String name)

3.4. application对象

application对象由服务器创建,每个Web服务目录下的application对象被用户共享。

1. application对象的常用方法:

  1. public void setAttribute(String key, Object obj)
  2. public Object getAttribute(String key)
  3. public Enumeration getAttributeNames()
  4. public void removeAttribute(String name)
  5. public String getServletInfo()

2. 用application制作留言板

  1. ex3_input.jsp

    <%@page contentType="text/html;charset=utf8"%>
    <HTML><body><form action="ex3_mes.jsp" method="post" name="form">输入您的名字:<input type="text" name="name"><br>输入留言标题:<input type="text" name="title"><br>输入您的留言:<br><TEXTAREA name="messages" ROWS='10' COLS='36' WRAP="physical"></TEXTAREA><br><input type="submit" value="提交" name="submit"></form><form action="ex3_show.jsp" method="post" name="form2"><input type="submit" value="查看" name="look"></form></body>
    </HTML?
    
  2. ex3_show.jsp

    <%@page contentType="text/html;charset=utf8" %>
    <%@page import="java.util.*" %>
    <HTML><body><%Vector v = (Vector)application.getAttribute("Mess");for(int i=0;i<v.size();++i) {String mes = (String)v.elementAt(i);out.println(mes);out.println("<br>---------------------------<br>");}%></body>
    </HTML>
    
  3. ex3_mes.jsp

    <%@page contentType="text/html;charset=utf8" %>
    <%@page import="java.util.*" %>
    <HTML><body><%! Vector v = new Vector();int cnt = 0;ServletContext application;synchronized void leaveWord(String s) {application = getServletContext();cnt++;v.add("No."+cnt+" ,"+s);application.setAttribute("Mess", v);}%><%String name = request.getParameter("name");String title = request.getParameter("title");String messages = request.getParameter("messages");if(name == null || name.length()==0)      name = "Anomi";if(title == null || title.length()==0)        title = "No title";if(messages == null || messages.length()==0)  messages = "Nothing useful.";String s = name+"<BR>"+title+"<BR>"+messages+"<BR>";leaveWord(s);out.println("留言成功!");%><a href ="ex3_input.jsp">返回</a></body>
    </HTML>

3.5 out对象

out对象是一个输出流,用来向用户输出数据。

JSP实用教程 第三章 JSP内置对象相关推荐

  1. JSP实用教程-第三章Tag文件与Tag标记

    目录 3.1 Tag文件 3.1.1Tag文件的结构 3.1.2Tag文件的保存 3.2 Tag标记 3.2.1 Tag文件和Tag标记 3.2.2 Tag标记的使用 3.2.3 Tag标记的运行原理 ...

  2. 第三章JavaScript 内置对象

    1 Number 1.1 属性 MAX_VALUE JS可以表示的最大的数字 MIN_VALUE JS可以表示的最小的数字 1.2 方法 toFixed(length) 指定保留长度的小数 toExp ...

  3. JavaScript进阶 - 第7章 JavaScript内置对象

    第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的, ...

  4. 【JSP笔记】第三章 JSP内置对象【上】

    2019独角兽企业重金招聘Python工程师标准>>> 1.内置对象简介:JSP内置对象是WEB容器创建的一组对象,不使用new关键就可以是用的对象. <% out.print ...

  5. JSP学习 三大指令、九个内置对象、JavaBean、EL表达式

    1.page-->最复杂:<%@page language="java" info="xxx"...%>* pageEncoding和cont ...

  6. 基于c语言的ug二次开发,(完整)3_UG二次开发实用教程第三章(16页)-原创力文档...

    第 3 章 编程基础 3.1 UG/Open API 函数 3.1.1 函数名称的约定 UG/OpenAPI 共有两类名称约定.一个是标准的 UG/OpenAPI 的函数 名称约定:另一个是以前版本原 ...

  7. JAVA程序设计实用教程 第三章 习题3(2)

    3-15  什么是继承?继承机制的作用是什么?子类继承了父类的什么?子类不需要父类的成员时怎么办?能够删除他们吗?java语言允许一个类有多个父类吗?p83 继承是面向对象的核心特性,是实现抽象与共享 ...

  8. 关于JSP(Java Server Pages)的内置对象有哪些?

    1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例. 2.response对象 respo ...

  9. Jsp内置对象及EL表达式的使用

    一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...

  10. 七、jsp基础(二)- 内置对象

    一.什么是内置对象 1.1 内置对象的来源 为了开发者方便使用,JSP中预先定义了9个内置对象,由容器为用户进行实例化,用户直接使用即可.举例:servlet: HttpSession session ...

最新文章

  1. Android GoogleMap 谷歌地图从零开始
  2. 使用 Docker 搭建 Tomcat 运行环境
  3. C# Azure 存储-分布式缓存Redis的新建配置查看
  4. java游戏2333整合包,我的世界魔法荣耀
  5. Codeforces 1196F K-th Path
  6. eclipse 面包屑开关 / 查看class再哪个jar中
  7. android 星级评论,Android自定义RatingBar(星级评分控件)
  8. java rmi漏洞工具_学生会私房菜【20200924】Weblogic WLS核心组件反序列化命令执行突破(CVE20182628)漏洞复现...
  9. mysql 右模糊_面试小知识:MySQL索引相关
  10. 【教程】PDF控件Spire.PDF 教程:在C#中加密和解密PDF文件
  11. 学习日记| javaScript在网页绘制国际象棋盘
  12. vPlayer 模块Demo
  13. C# XtraReport学习之三 绑定数据
  14. DIY自平衡车意外失去左腿后,小哥爆改假肢玩出了花,稚晖君:技术到内心都硬核...
  15. Linux内核的misc框架
  16. java rewind()_Java NIO Buffer的clear()、reset()、rewind()、flip()方法的区别
  17. 基于PHP的图书商城系统
  18. 互联网电商大数据环境 ——大数飓数据分析实践培训精华笔记(九)——电商核心业务知识之订单商品模块
  19. 朝天椒USB Server登场!EastFax USB Server品牌重塑正式启动
  20. Python合并数据、多表连接查询

热门文章

  1. linux 把数字传给bc,linux – 在Bash中使用bc舍入数字
  2. css实现圆球旋像水波波动_66 个超有用的CSS 特效!
  3. 通过linux内核如何读取pmbus总线上的数据,Linux内核中读写文件数据的方法
  4. (4)Redis的Java API
  5. iOS数据库的使用(三):sqlite多线程
  6. usercontrol控件生成后,左边工具栏不会出现工具的问题解法
  7. Gprinter Android SDK V1.0 使用说明
  8. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(611,5): error MSB
  9. AspNetPager分页控件报错“对象不支持此属性或方法”
  10. 文字布局(TEXT STYLE)标记(TAGS)