`

Web开发6:JSP内置对象比较与分析2

 
阅读更多

先看个小例子:

request1.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <body>
    <form action="request2.jsp">
    	username:<input type="text" name="username">
    	<input type="submit" value="submit">
    </form>
  </body>
</html>

 

request2.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <body>
    <%String username = request.getParameter("username"); %>
    username: <%=username %>
    <%request.setAttribute("username",username); %>
    <jsp:forward page="request3.jsp"></jsp:forward>
  </body>
</html>

 

request3.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <body>
     <%String username =(String) request.getAttribute("username"); %>
    <%=username %>
  </body>
</html>

 

request3所在的页面可以正确取出客户在request1.jsp页面填写的username  

如果将request2.jsp改成

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <body>
    <%String username = request.getParameter("username"); %>
    username: <%=username %>
    <%request.setAttribute("username",username); %>
    <a href="request3.jsp">request3</a>
  </body>
</html>

 

那么在request3.jsp页面显示的将是null 

 

request的getParameter与getAttribute方法的区别是:

getParameter取的是从客户端传来的值,而getAttribute取的是在服务器端由setAttribute设置好的值。

 

 

Application内置对象:

网页计算小程序,在不同的浏览器页面访问,计数都是累加!

application是JSP活动范围最大的对象,只要服务器不关闭,整个服务器只有一个application对象。它与session的区别是session只有一个针对每个浏览器,只要浏览器不"关闭",session对象就一直存在。request是针对请求,每次请求都会生成一个新的request对象。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <body>
  	<%
  		if(application.getAttribute("counter") == null)
  		{
  			application.setAttribute("counter","1");
  		}else{
	  		String strCounter = null;
	  		strCounter = application.getAttribute("counter").toString();
	  		int counter = 1;
	  		counter = Integer.parseInt(strCounter);
	  		counter ++;
	  		application.setAttribute("counter",Integer.valueOf(counter));
  		}
  	 %>
  	 您是第<%=application.getAttribute("counter") %>位访问者
  </body>
</html>

 

此外application.getRealPath("xx")方法也很重要,它会返回资源在服务器上的绝对路径。

 

下面再写一个用户注册向导页面,包括三个页面,分别是My1.jsp,My2.jsp,My3.jsp

在My1.jsp中输入用户名,然后在My2.jsp中显示,并要求在My2.jsp中要求输入该用户的个人爱好。

最后在My3.jsp页面中显示出用户名与该用户的爱好。

My1.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <body>
  	<form action="My2.jsp">
  		用户名:<input type="text" name="username"/>
  		<input type="submit">
  	</form>
  </body>
</html>

My2.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <body>
  	 <%
  		String username = request.getParameter("username");
  	 %>
  	 用户名是: <%= username %>
  	 <form action="My3.jsp">
  	 	输入你的爱好:<input type="text" name="fun"/>
  	 			  <input type="hidden" name="username" value=<%=username%> >
  	 			  <input type="submit">	
  	 </form>
  </body>
</html>

 

My3.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <body>
  	 <%
  		String username = request.getParameter("username");
  		String fun = request.getParameter("fun");
  	 %>
  	 用户名是: <%= username %>
  	 爱好是: <%= fun %>
  </body>
</html>

 

 

注意My2.jsp页面中的红色代码,使用此方法中转从My1.jsp页面转来的username到My3.jsp。现实中的大部分页面开发都是使用此方法。

如果不这样做,就需要使用sesssion来保存username,不推荐使用session,能少用session就尽量少用。

分享到:
评论

相关推荐

    web开发中JSP内置对象介绍

    在Web开发中,JavaServer Pages (JSP) 提供了一系列内置对象,这些对象极大地简化了开发者的工作,使得处理HTTP请求和响应变得更加便捷。下面将详细解释JSP中的四个主要内置对象:request、response、session和out。...

    Web开发技术:JSP

    【标题】"Web开发技术:JSP" 是一个与网页开发相关的主题,主要聚焦于Java Server Pages(JSP)技术。JSP是Java平台上的一个标准,用于创建动态的、交互式的Web应用。它允许开发者将HTML或者XML文档与Java代码结合在...

    情境2:JSP内置对象模块学习-参考示例.rar

    本教程将深入探讨JSP的内置对象,以"情境2:JSP内置对象模块学习-参考示例"为例,带你理解并应用这些关键组件。 1. **request对象**:`HttpServletRequest`接口的实例,代表客户端的HTTP请求。它允许开发者访问请求...

    JSP内置对象实验报告.doc

    charset=UTF-8");...通过这些实验,你可以深入理解JSP内置对象的用途和功能,并学会如何在实际开发中有效利用它们来构建更复杂的Web应用程序。练习部分鼓励你尝试更多的方法和属性,以增强你的理解和实践能力。

    jspweb开发的内置对象

    帮助你了解内置对象都有那些?,方便你学习jsp这门课程

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    jsp内置对象一些实验题

    JSP内置对象实验题 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,主要用于Web应用程序的开发。JSP提供了一些内置对象,帮助开发者快速构建Web应用程序。这些内置对象包括request、response、...

    Web应用开发技术:jsp1-2

    主要内容包括:Web基础知识,主流动态Web技术介绍,JSP开发运行环境的搭建,MyEclipse智能助手的使用,HTML语言, JSP脚本语言——Java,JSP内置对象,JSP标签,JDBC访问数据库技术,JavaBean组件技术,服务器端...

    JSP应用开发-JSP内置对象.pptx

    JSP内置对象是JSP应用开发中非常重要的一部分,了解JSP内置对象的概念、类型和使用方法可以帮助开发人员更好地开发动态Web应用程序。本文通过详细介绍JSP内置对象的概念、类型和使用方法,希望能够帮助读者更好地...

    JSP语法与内置对象课件

    ### JSP内置对象 1. **PageContext对象**: 提供了访问JSP页面所有作用域的统一接口,如获取请求、响应、session等对象。 2. **Request对象**: `HttpServletRequest`,代表客户端的HTTP请求,提供了获取请求参数、...

    实验三 JSP内置对象使用

    【实验三 JSP内置对象使用】 实验的目的是让学生熟悉并理解JSP中的几个核心内置对象,包括request、response、session、application以及out对象。这些对象是JSP中用于处理HTTP请求、响应、会话管理和输出数据的关键...

    JSP内置对象pdf

    JSP内置对象是JSP技术中的基础知识点,了解和掌握这些内置对象的用法对于开发基于JSP的Web应用至关重要。通过这些内置对象,开发人员可以更加方便地处理HTTP请求和响应、管理用户会话、存储应用范围内的数据等,从而...

    JSP内置对象方法介绍示例

    在压缩包文件"JSP内置对象"中,可能包含了关于这些对象的详细解释、代码示例以及使用场景分析,可以帮助读者更深入地理解和掌握JSP内置对象的使用。通过阅读和实践其中的内容,开发者可以提升自己的JSP编程能力,为...

    jsp九大内置对象讲解

    JSP九大内置对象是JSP技术中非常重要的一部分,它们是JSP引擎提供的一些预定义的对象,用于帮助开发者快速地开发Web应用程序。本文将详细介绍JSP九大内置对象,并对其原理和使用方法进行解释。 一、JSP运行原理 在...

    web应用开发技术(JSP)源码

    6. **JSP内置对象**: JSP提供了几种内置对象,如request、response、session、application、pageContext、out、config和page,它们分别用于处理HTTP请求、发送响应、管理会话、共享全局数据、获取配置信息和输出内容...

    jsp内置对象讲解及实例

    **JSP内置对象讲解** JSP(JavaServer Pages)是一种基于Java的技术,用于创建动态网页。在JSP中,有九个内置对象,它们是由服务器自动创建并提供给每个请求的JSP页面,无需显式声明。这些内置对象极大地简化了开发...

    jsp内置对象课件,维护对象和增加和删除对象属性

    总结来说,JSP内置对象简化了Web开发中的许多常见任务,如数据输出、请求和响应处理、会话管理等。熟练掌握这些对象的使用,对于编写高效、简洁的JSP代码至关重要。在实际编程中,结合JavaBeans、EL表达式和JSP标签...

    jsp内置对象的使用

    **正文** 在Java Server Pages(JSP)技术中,...理解并熟练运用JSP内置对象,能帮助开发者更高效地构建动态网页应用程序。在学习过程中,不断实践和探索,才能更好地掌握这些对象的功能和用法,从而提升开发技能。

    jsp九大内置对象

    JSP中的这九大内置对象为开发者提供了强大的工具箱,能够极大地简化Web应用开发过程中的常见任务。通过对这些内置对象的理解和运用,可以更加高效地构建动态网页应用。在实际开发中,根据不同的需求选择合适的内置...

    零基础学Java_Web开发:JSP+Servlet+Struts+Spring+Hibernate+Ajax

    第四章的PPT详细讲解了JSP的基础知识,包括指令、动作元素、内置对象等。 2. **Servlet**: Servlet是Java Web应用中的核心组件,用于处理HTTP请求和响应。它是一个Java类,用于扩展服务器的功能。Servlet与JSP...

Global site tag (gtag.js) - Google Analytics