JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍一下以上几种对象的使用。
request对象
request对象代表这是从用户发送过来的请求,从这个对象中可以取出客户端用户提交的数据或者是参数,这个对象只有接受用户请求的页面才可以访问。
1.request对象使用场合
如果要与用户互动,必须要知道用户的需求,然后根据这个需求生成用户期望看到的结果。这样才能实现与用户的互动。在Web应用中,用户的需求就抽象成一个request对象,这个对象中间包括了用户的需求。request正是用来收集类似这些用户的输入数据和参数的。
同时,request对象中还包括一些服务器的信息,例如端口、真实路径、访问协议等信息,通过request对象可以取得服务器的这些参数。
不多说直接上代码
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>request主要方法调用示例</title>
</head>
<body>
<font size="2">
request主要方法调用示例:<br>
<%
request.setAttribute("attr","Hello!");
out.println("attr属性的值为:"+request.getAttribute("attr")+"<br>");
out.println("上下文路径为:"+request.getContextPath()+"<br>");
out.println("Cookies:"+request.getCookies()+"<br>");
out.println("Host:"+request.getHeader("Host")+"<br>");
out.println("ServerName:"+request.getServerName()+"<br>");
out.println("ServerPort:"+request.getServerPort()+"<br>");
out.println("RemoteAddr:"+request.getRemoteAddr()+"<br>");
request.removeAttribute("attr");
out.println("属性移除操作以后attr属性的值为:"+request.getAttribute("attr")+"<br>");
%>
</font>
</body>
</html> 第11行代码设置了一个名为“attr”的属性值
第12~18行这段代码向客户端返回来request域的属性值
第19行代码删除了名为“attr”的属性
2.request对象使用示例
1、使用request对象取得表单数据
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>request主要方法调用示例</title>
</head>
<body>
<font size="2">
request主要方法调用示例:<br>
<%
request.setAttribute("attr","Hello!");
out.println("attr属性的值为:"+request.getAttribute("attr")+"<br>");
out.println("上下文路径为:"+request.getContextPath()+"<br>");
out.println("Cookies:"+request.getCookies()+"<br>");
out.println("Host:"+request.getHeader("Host")+"<br>");
out.println("ServerName:"+request.getServerName()+"<br>");
out.println("ServerPort:"+request.getServerPort()+"<br>");
out.println("RemoteAddr:"+request.getRemoteAddr()+"<br>");
request.removeAttribute("attr");
out.println("属性移除操作以后attr属性的值为:"+request.getAttribute("attr")+"<br>");
%>
</font>
</body>
</html> 解释:在上面这个程序当中,也可以把表单提交给其他页面,那样只需把接受参数的方法放在对应的页面即可.在这里只是为了方便展示问题才提交给页面自身。
2、使用request对象取得页面传递参数
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>request对象取得页面传递参数示例</title>
</head>
<%
String param = request.getParameter("param"); %>
<body>
<font size="2">
<a href="URL.jsp?param=Hello">请点击这个链接</a><br>
你提交的参数为:<%=param%>
</font>
</body>
</html> 解释:在这个例子中,通过一个超链接完成了一次单参数的请求,并且在服务器端获取了这个参数。其中第8行代码在服务端获取客户提交的参数。第12行代码定义另一个带参数的超连接。 response对象
response对象是服务器端向客户端返回的数据,从这个对象中可以取出部分与服务器互动的数据和信息,只有接受这个对象的页面才可以访问这个对象。
1.response对象使用场合
既然用户可以对服务器发出请求,服务器就需要对用户的请求作出反应。这里服务器就可以使用response对象向用户发送数据,response是对应request的一个对象。
如果需要获取服务器返回的处理信息,就可以对response进行操作,同时当服务器需要对客户端进行某些操作的时候也需要response对象,例如服务器要在客户端生成Cookies,那么这时候response对象就是一个很好的选择。
2.response使用举例,采用response实现页面重定向。
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>response对象页面重定向示例</title>
</head>
<body>
<%
response.sendRedirect("http://www.sohu.com");
%>
</body>
</html>
上面这个页面运行的时候直接重定向到搜狐的首页。
session对象
session对象维护者客户端用户和服务器端状态,从这个对象中可以去除用户和服务器交互过程中的数据和信息。这个对象在用户关闭浏览器离开Web应用之前一直有效。
1.session对象使用场合
session对象中保存的内容是用户与服务器整个交互过程中的信息,如果是想在整个交互的过程中都可以访问到信息,就可以选择存放在session对象中。
例如在用户登录的过程中,可以在session中记录用户的登录状态,这样用户就不必在每个页面都重新登录,只要用户没有离开当前的Web应用系统,就可以一直保存登录的状态。
2.session对象使用示例
模拟一个简单的用户登录动作,在这个示例程序中不对提交的登录信息做具体的验证,只要用户名和密码都不为空就可以登录,这样处理知识为了方便展示session的使用方法,在具体的开发中必须要对登录信息进行验证。
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>用户登录界面</title>
</head>
<body>
<font size="2">
<form action="LoginCheck.jsp" method="post">
用户名:<input type="text" name="userName" size="10"/>
密 码:<input type="password" name="password" size="10"/>
<input type="submit" value="提交">
</form>
</font>
</body>
</html> 上面这个JSP页面想LoginCheck提交了一个登录表单,表单中有用户名和密码。下面是LoginCheck的内容。
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>用户登录验证页面</title>
</head>
<%
String userName = request.getParameter("userName");
String password = request.getParameter("password"); if(userName.length()>0&&password.length()>0)
{
session.setAttribute("status","Login");
response.sendRedirect("Main.jsp");
}else
response.sendRedirect("Login.jsp"); %>
<body>
</body>
</html> 在上面这个页面中,从变淡中取出用户名和密码,如果用户名和密码都不为空就允许登录,否则就重定向到登录页面,让用户重新登录。如果用户登录成功,就在session中设置一个status属性,然后把用户重定向到系统的主页面,在主页面中可以访问session中的值。下面是Main页面的具体代码
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>系统主界面</title>
</head>
<body>
<font size="2">
<%
Object status = session.getAttribute("status");
if(session.getAttribute("status")!=null)
out.print("用户已经登录!");
else
response.sendRedirect("Login.jsp");
%>
</font>
</body>
</html> 在上面这个页面中,对用户的状态进行判断,如果从session中可以取出对应的属性值,说明用户已经登录,如果没有渠道指定属性值,说明用户没有登录,这时就重定向到登录页面,让用户重新登录。其中session的值在用户离开系统之前的任何页面都可以访问。

jsp的内置对象的更多相关文章

  1. JSP的内置对象以及作用域。

    最近在面试,一些基础的问题总是会被问到,虽然是基础,但是有些东西在工作中用的少,所以就有些记不清了,在面试的时候更因为紧张很容易造成原先知道的知识也会突然忘了的情况发生.所以在重新组织一下jsp的内置 ...

  2. JSP的内置对象(上)

    1.JSP内置对象的概念:JSP的内置对象时Web容器所创建的一组对象,不使用new关键字就可以使用的内置对象 2.JSP九大内置对象内置对象:out ,request ,response ,sess ...

  3. JSP&EL 内置对象

    JSP&EL 内置对象 转载▼   具体的JSP和El中的内置对象见下表,由于我写在了excel中,也不知道怎么把excel发出来,就截了图. 相关问题: Q1: JSP:EL中 pageCo ...

  4. struts访问jsp api内置对象的集中方式

    1 default-action-ref元素改元素用来配置默认的action,如果struts找不到对应的action,就会调用这个默认的action 2 dmi处理方式是通过请求action中的一个 ...

  5. JSP的执行原理、JSP的内置对象、四大作用域解析、MVC模式理解>从零开始学JAVA系列

    目录 JSP的执行原理.JSP的内置对象.四大作用域解析.MVC模式理解 JSP的执行原理 这里拿一个小例子来解析JSP是如何被访问到的 首先将该项目部署到tomcat,并且通过tomcat启动 通过 ...

  6. 什么是jsp?jsp的内置对象有哪些?

    这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [什么是jsp? ...

  7. 菜鸟日记之JSP二 内置对象的理解

    ·最近学习JSP了,对编程和网络又有了一些理解.无论是现实中人与人的交流,还是网络世界的接触,都是在相互表达自己的意思让别人知道,并理解对方的信息.然后我们知道的事情不断的变多,会又交杂出新的内容,不 ...

  8. JSP (tomcat 内置对象)

    1.内置对象:    request: 方法:getParameter("txtName"):获取和页面上的name属性对象的value值       返回String       ...

  9. JSP的内置对象application、session、request、page的作用域

    1.application内置对象的类型名称为ServletContext. 2.session内置对象的类型名称为HttpSession. 3.application作用域:对应整个应用上下文. a ...

随机推荐

  1. 如何高效撤销Git管理的文件在各种状态下的更改

    一.背景 企业中我们一般采用分布式版本管理工具git来进行版本管理,在团队协作的过程中,我们难免会遇到误操作,需要撤销更改的情况,那么我们怎么高效的进行撤销修改呢?对于还未提交到暂存区的代码怎么高效撤 ...

  2. Python2/3的中、英文字符编码与解码输出: UnicodeDecodeError: 'ascii' codec can't decode/encode

    摘要:Python中文虐我千百遍,我待Python如初恋.本文主要介绍在Python2/3交互模式下,通过对中文.英文的处理输出,理解Python的字符编码与解码问题(以点破面). 前言:字符串的编码 ...

  3. 实现WebSocket和WAMP协议的开源库WampSharp

    Websocket Application Messaging Protocol 协议:https://github.com/wamp-proto/wamp-proto 1. 基础档案 引入: WAM ...

  4. hibernate 3.6.10 maven pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  5. ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

    放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...

  6. Confluence5.4.4迁移至6.3.1

    1.数据备份 服务器查看: 2.安装破解文件及安装包至服务器 3.停止旧版本并启动安装 4.访问8090端口开始安装 5.获取授权码,需要能访问国外网站,并且有atlassian账号 6.将数据库连接 ...

  7. MySQL连接方式及大小写问题

     一.连接数据库 在命令行连接MySQL有这两种方式,一种是使用命令行参数:另一种是将参数信息写入配置文件 1.命令行中使用参数 -u用户名 -p密码 -D数据库名 -P数据库服务端口 -s安静模式 ...

  8. sourcetree跳过注册的方法

    当前只有Win的版本,Mac自行百度(笑) 很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作. 然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者操作 ...

  9. Webpack 2 视频教程 009 - 配置 ESLint 实现代码规范自动测试 (上)

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  10. asp.net mvc ajax提交模型到控制器

    http://blog.csdn.net/loongsking/article/details/53224473 function btn_submit() {        var data = n ...