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. iOS常见的几种加密方法(base64.MD5.Token传值.系统指纹验证。。加密)

    普通加密方法是讲密码进行加密后保存到用户偏好设置中 钥匙串是以明文形式保存,但是不知道存放的具体位置 一. base64加密 base64 编码是现代密码学的基础 基本原理: 原本是 8个bit 一组 ...

  2. Servlet过滤器简单探索

    过滤器的工作时机介于浏览器和Servlet请求处理之间,可以拦截浏览器对Servlet的请求,也可以改变Servlet对浏览器的响应. 其工作模式大概是这样的: 一.Filter的原理 在Servle ...

  3. 小白的Python之路 day4 迭代器

    迭代器 学习前,我们回想一下可以直接作用于for循环的数据类型有以下几种: 1.集合数据类型,如list.tuple.dict.set.str等: 2.是generator,包括生成器和带yield的 ...

  4. whereis 命令详解

    whereis 作用:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息.  参数:-b 定位可 ...

  5. Python-字典dict对象方法总结

  6. websocket(二) websocket的简单实现,识别用户属性的群聊

    没什么好说的,websocket实现非常简单,我们直接看代码. 运行环境:jdk8 tomcat8 无须其他jar包. 具体环境支持自己百度 package com.reach.socketContr ...

  7. java.util.HashSet

    Operations Time Complexity Notes add, remove, contains, size O(1) assuming the hash functions has di ...

  8. MySQL查询(进阶)(每个标点都是重点)

    MySQL 是工作中很普遍的需要用到的,所以必须掌握,而 之前我们一直说的都是怎么存. 你只会存不会取有个屁用.所以希望大家在如何查询读取数据这方面多下点功夫. 这篇和上一篇都是干货,我也是第一次学. ...

  9. Python学习_12_方法和类定制

    方法 在上一篇随笔中,简单提到了类的某些方法:__init__()等的调用,并简要说明方法和函数的区别. 方法是在类内部定义的函数,方法也是对象,所以方法是类的属性,这就是为什么说实例的方法存在于类定 ...

  10. Linux 定时任务不生效的问题

    Linux 中定时任务不生效的问题屡见不鲜, 本质原因是: 登录式 shell & 非登录式 shell. 登录式 shell & 非登录式 shell 登录式 shell 有: su ...