- 浏览: 189770 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. jsp四个作用域
1) page范围
2) request范围
3) session范围
4) application范围
2. jsp九个内置对象
1) pageContext对象 同上
2) request对象 同上
3) session对象 同上
4) application对象 同上
5) response对象
6) out对象
7) config对象
8) exception对象
9) page对象
在Jsp开发中,可以保存数据,Jsp提供了四种数据保存范围; 分别是 page, request, session, application;
1) page范围
page范围: 只在一个页面中保存数据; 使用: pageContext.setAttribute("xxx"); pageContext.getAttribute("xxx"); 抽象类: javax.servlet.jsp.PageContext
pageScope.jsp <% // 设置两个page范围的数据 key-> value pageContext.setAttribute("name","page王二小"); pageContext.setAttribute("age",12); %> <% // 取值 String name=(String)pageContext.getAttribute("name"); int age=(Integer)pageContext.getAttribute("age"); %> <font>姓名:<%=name %></font> <font>年龄:<%=age %></font>
2) request范围
request范围: 只在一个请求中保存数据; 使用: request.setAttribute("key","value"); request.getAttribute("key"); 接口: javax.servlet.http.HttpServletRequest
requestScope.jsp <% // 设置两个request范围的数据 key-> value request.setAttribute("name","request王二小"); request.setAttribute("age",12); %> <jsp:forward page="requestTarget.jsp"></jsp:forward> requestTarget.jsp <% // 取值 String name=(String)request.getAttribute("name"); int age=(Integer)request.getAttribute("age"); // 获取头信息 Enumeration enu=request.getHeaderNames(); while(enu.hasMoreElements()){ String headerName=(String)enu.nextElement(); String headerValue=request.getHeader(headerName); %> <h4><%=headerName %> <%=headerValue %></h4> <% } %> <font>姓名:<%=name %></font> <font>年龄:<%=age %></font>
3) session范围
session范围: 在一次会话范围中保存数据,仅供单个用户使用; 使用: session.setAttribute("key","value"); session.getAttribute("key"); 接口: javax.servlet.http.HttpSession
sessionScope.jsp <% // 设置两个session范围的数据 key-> value session.setAttribute("name","session王二小"); session.setAttribute("age",12); %> <h1>session值设置完毕!</h1> sessionTarget.jsp <% // 取值 String name=(String)session.getAttribute("name"); int age=(Integer)session.getAttribute("age"); %> <font>姓名:<%=name %></font> <font>年龄:<%=age %></font>
4) application范围
application范围: 在整个服务器上保存数据,所有用户共享; 使用: application.setAttribute("key","value"); application.getAttribute("key");
applicationScope.jsp <% // 设置两个application范围的数据 key-> value application.setAttribute("name","application王二小"); application.setAttribute("age",12); %> <h1>application值设置完毕!</h1> applicationTarget.jsp <% // 取值 String name=(String)application.getAttribute("name"); int age=(Integer)application.getAttribute("age"); %> <font>姓名:<%=name %></font> <font>年龄:<%=age %></font>
2. jsp九个内置对象
在Jsp开发中,Jsp提供了9个内置对象,这些内置对象将由容器为用户进行实例化,用户直接使用即可。 这个9个内置对象分别是: pageContext, request, session, application, response, out, config, exception, page; 常用的是前面5个,需要熟练掌握;
1) pageContext对象 同上
pageContext内置对象是一个比较特殊的对象。它相当于页面中所有对象功能的集合,即使用它可以访问到本页面中所有对象。 pageContext内置对象由Jsp容器创建并初始化,pageContext对象提供了对JSP页面所有对象及控件的访问。
pageContext01.jsp <% pageContext.setAttribute("name0", "pageInfo"); request.setAttribute("name1", "requestInfo"); session.setAttribute("name2", "sessionInfo"); application.setAttribute("name3", "applicationInfo"); out.println("使用pageContext<br/>"); out.println("page中的属性值:"+pageContext.getAttribute("name0")+"<br/>"); out.println("request中的属性值:"+pageContext.getRequest().getAttribute("name1")+"<br/>"); out.println("session中的属性值:"+pageContext.getSession().getAttribute("name2")+"<br/>"); out.println("application中的属性值:"+pageContext.getServletContext().getAttribute("name3")+"<br/>"); %>
2) request对象 同上
3) session对象 同上
4) application对象 同上
5) response对象
response对象: Response内置对象和request内置对象是相对应的,response内置对象用于响应客户请求,向客户端输出信息; 接口: javax.servlet.HttpServletResponse 使用: 1) 自动刷新应用 response.setHeader("refresh","1"); 2) 页面重定向应用客户端跳转 response.sendRedirect("index.html"); 3) 操作cookie应用post get方法比较post放数据包里get放Url后面get数据量小,不安全;
1) response01.jsp <% // 每隔一秒刷新一次页面 response.setHeader("refresh","1"); // 获取当前时间 Date myDate=new Date(); %> 当前时间:<%= myDate.toLocaleString() %> 2) response02.jsp <% // 重定向,客户端跳转 response.sendRedirect("index.html"); %> index.html Hello 主页 3) response03.jsp <script type="text/javascript"> function resetValue(){ document.getElementById("userName").value=""; document.getElementById("pwd").value=""; } </script> <% String userName=null; String pwd=null; Cookie[] cookies=request.getCookies(); for(int i=0;cookies!=null &&i<cookies.length;i++){ if(cookies[i].getName().equals("userNameAndPwd")){ userName=cookies[i].getValue().split("-")[0]; pwd=cookies[i].getValue().split("-")[1]; } } if(userName==null){ userName=""; } if(pwd==null){ pwd=""; } %> </head> <body> response03.jsp <form action="userLogin.jsp" method="post"> <table> <tr> <td>用户名:</td> <td><input type="text" id="userName" name="userName" value="<%=userName%>"/></td> </tr> <tr> <td>密码:</td> <td><input type="password" id="pwd" name="pwd" value="<%=pwd %>" /></td> </tr> <tr> <td>记住密码:</td> <td><input type="checkbox" id="remember" name="remember" value="remember-me"/></td> </tr> <tr> <td><input type="submit" value="登录"/></td> <td><input type="button" value="重置" onclick="resetValue()"/></td> </tr> </table> </form> </body>
6) out对象
out对象: Out内置对象主要用来向客户端输出各种类型的数据,同时还可以管理应用服务器上的输出缓冲区。所以out内置对象的方法是向客户端输出数据和管理缓冲区; 抽象类: javax.servlet.jsp.JspWriter 使用: out.println("xxx");
out01.jsp <% out.println("<h1>"); out.println("Hello Jsp Servlet"); out.println("</h1>"); %> out02.jsp <% int totalbuffer = out.getBufferSize(); // 获取总共缓冲区的大小 int available = out.getRemaining(); // 获取未使用的缓冲区的大小 int user = totalbuffer-available; // 获取使用的缓冲区大小 out.println("总共缓冲区的大小:" + totalbuffer); out.println("未使用的缓冲区的大小:" + available); out.println("使用的缓冲区大小:" + user); %>
7) config对象
config对象: Config内置对象是JSP页面通过JSP容器进行初始化时被传递的对象。 在Servlet初始化的时候,JPS引擎通过config向它传递信息。这种信息可以是属性名和属性值匹配的参数,也可以是通过ServletContext对象传递的服务器的有关信息; 底层: javax.servlet.ServletConfig 使用: config.getInitParameter
web.xml <servlet> <servlet-name>init</servlet-name> <jsp-file>/sysInit.jsp</jsp-file> <init-param> <param-name>jdbcName</param-name> <param-value>com.mysql.jdbc.Driver</param-value> </init-param> <init-param> <param-name>dbUrl</param-name> <param-value>jdbc:mysql://localhost:3306/db_xx</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>init</servlet-name> <url-pattern>/init</url-pattern> </servlet-mapping> sysInit.jsp <% String jdbcName=config.getInitParameter("jdbcName"); String dbUrl=config.getInitParameter("dbUrl"); %> <h1>驱动名称:<%=jdbcName %></h1> <h1>连接地址:<%=dbUrl %></h1> http://localhost:8080/HeadFirstJspServletChap03/init
8) exception对象
exception对象: Exception内置对象用来处理JSP文件在执行时发生的所有异常,它是java.lang.Throwable类的一个对象。
exception01.jsp <% int a=1; int b=0; out.println(a/b); %> error.jsp <% if(exception!=null){ out.println("程序错误信息:"); out.println(exception.getMessage()); } %>
9) page对象
page对象 page对象是当前页面转换后的Servlet类的实例。在JSP页面中,很少使用page对象。 Object page = this; pageContext对象 javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。 总的来说,pageContext和page都是jsp中的隐含对象,pageContext代表jsp页面的上下文关系,能够调用、存取其他隐含对象;page代表处理当前请求的时候,这个页面的实现类的实例。
发表评论
-
jsp标准标签库
2019-01-09 00:02 4491. jsp标准标签库 1) JSTL引入(JSP Stan ... -
jsp自定义标签
2019-01-09 00:01 4211. jsp自定义标签 1) jsp自定义没有属性标签 ... -
el表达式
2019-01-09 00:01 5261. el表达式 1) EL表达式 ... -
Servlet开发
2019-01-09 00:01 3281. Servlet开发 1) servlet引入 H ... -
javaBean组件
2019-01-09 00:01 4461. javaBean组件 0) 不使用Javabean组件 ... -
jsp基础语法
2019-01-08 09:06 3741. page指令 language:用来定义要使用的脚 ... -
jsp概述
2019-01-08 09:06 3601. jsp概述 jsp: java server pa ... -
Java web页面form提交重定向sendRedirect到web页面
2018-12-23 11:03 1100Java web实现jsp页面的form表单提交sendRed ... -
Java web页面form提交请求转发forward到web页面
2018-12-23 11:02 982Java web实现jsp页面的form表单提交forward ... -
Java web页面form调用servlet显示
2018-12-17 09:41 703Java web使用jsp页面的form表单调用servlet ... -
Java web地址栏url调用servlet显示
2018-12-17 09:41 724通过Http请求调用servlet直接显示 1. 创建一个类 ... -
Java web页面form提交到web页面
2018-12-17 09:40 711Java web实现jsp页面的form表单提交到jsp页面 ...
相关推荐
JSP 九个内置对象及四个作用域 JSP(Java Server Pages)是一种基于Java的服务器端脚本...JSP四个作用域包括page、request、session和application四个作用域,分别对应着页面、请求、会话和应用程序四个级别的作用域。
在这个作用域内创建的对象只能被该页面访问,一旦页面处理完毕,这些对象就会被销毁。使用`pageContext.setAttribute()`方法可以在page作用域中设置属性。 2. **request**作用域:比page作用域稍大,一个请求中的...
四大作用域包括page、request、session和application四个作用域,每个作用域都有其特定的生命周期和使用场景。 page作用域是指当前页面的生命周期,以JSP页面为单位,页面销毁后页面作用域的变量将被销毁。 ...
在JSP页面中,这九大内置对象和四大作用域使得数据管理和交互变得更加方便和高效。开发者可以根据需要选择合适的作用域来存储数据,以及使用内置对象来进行请求处理、页面输出、会话管理和应用程序级操作。 例如,...
Page 作用域是 JSP 页面的内置对象,用于存储当前页面的数据。PageContext 是一个在 JSP 中的隐含对象,通过它可以设置和获取当前页面的属性。Page 作用域的生命周期非常短暂,仅限于当前页面的执行周期内。在同一个...
### JSP九大内置对象详解 #### 一、Request对象 - **定义**:`javax.servlet.http.HttpServletRequest` 类型的对象。 - **用途**:用于接收客户端发送到服务器端的数据(包括但不限于HTTP请求头、请求参数等)。 - ...
NULL 博文链接:https://1601844782.iteye.com/blog/2274248
本实验主要探讨了四个关键内置对象:request、response、session和pageContext。 1. **request对象**:request对象代表HTTP请求,由HttpServletRequest类实例化。它用于获取客户端发送的所有信息,如参数、头信息等...
这九个内置对象中的四个——`application`、`session`、`request`和`page`,具有不同的作用域,决定了它们的有效范围: - **application**:在整个Web应用的生命周期中有效,适用于全局范围的数据共享。 - **...
request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request ...pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page session 会话对象 类型 javax.serv
jsp有四种属性范围: page -> 页面级别,显然只有在一个页面内可用。 request -> 请求级别 服务器跳转,一次请求之后消失。 session -> 会话级别 客户端跳转(服务器跳转),与浏览器有关,ie是在重新打开ie时才...
- 功能:提供对四个作用域(page、request、session、application)的操作方法。 - 作用域:`page`(页面执行期间) - 特别说明:其提供的方法均为抽象方法,通过具体的PageContext实现类实现。 5. **session** ...
四个作用域分别对应不同的数据有效期和范围: - **application**作用域:在整个Web应用程序的生命周期内有效,直至服务器关闭或清空应用程序数据。 - **session**作用域:在用户会话期间有效,会话结束或调用`...
1. **pageContext对象**:PageContext对象提供了对请求、响应、页面范围以及其他四个作用域(page、request、session和application)的访问。它是其他所有对象的桥梁,通过它可以获取任何作用域内的数据。 2. **...
JSP内置对象有不同的作用域,这决定了它们的有效范围: - **`page`对象**:页面级作用域,只在当前JSP页面中有效。 - **`request`对象**:请求级作用域,适用于当前HTTP请求的整个生命周期。 - **`session`对象**:...
### JSP九个内置对象 六个基本动作 三个指令元素 #### 四种属性范围 ...以上就是JSP中四个作用域、九个内置对象、六个基本动作及三个指令元素的基本介绍,希望能帮助您更好地理解和使用JSP技术。