Jsp页面传参的4种常用方式
JSP技术简介
第1章JSP技术简介JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。
它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。
在国内,JSP 现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。
本章就对JSP及其相关技术进行简单的介绍。
1.1 认识HTTP协议HTTP协议(Hypertext Transfer Protocol,超文本传送协议)是WWW服务器使用的主要协议,对HTTP协议细节的基本理解是编写JSP或Java小程序的开发人员所必需的。
因此在学习JSP技术之前有必要更加仔细地研究一下HTTP消息的格式(这里的讨论源自HTTP/1.1协议规范。
参见规范2616,网址为/rfc/rfc2616.txt)。
HTTP 协议的关键部分有HTTP请求和HTTP响应,以及客户端Web程序设计的一些基础知识,在第4章4.4节将会具体介绍。
1.2 客户端Web程序设计介绍Web浏览器现已成为深受大多数用户喜爱的用户界面。
HTML语言提供了丰富的控件,第三方厂商提供了Visual Basic编写的数百个额外的控件,这些都使得Web浏览器独具特色。
虽然Web浏览器与传统的GUI界面有一定的差距,但它提供了一种独立而又简单的方法来访问分布式资源,尤其是Internet资源。
而且越来越多的客户端Web程序扩展技术变得更加成熟,出现了包括CSS、JavaScript、VBScript、动态HTML、Java1.1.Applet应用程序等技术在内的客户端Web程序设计技术,它们的相互结合使得Web程序更加迷人。
下面简单介绍几种常用的客户端Web程序设计技术的特点。
本书假定读者对这些技术都有一定的了解,不对这些技术作详细介绍。
1.2.1 CSSCSS(Cascading Style Sheets)称为层叠样式表,是动态HTML技术的一个部分,但可以和HTML结合使用。
JSP页面数据传递方式的研究
2 J P页面 数 据 传 递 的 实现 S
下面 以实 现 一 个 相 同 的简 单 实 例 说 明 l 页 面 数 据 传 s P
推 广应 用价 值 。 结合 一 个 简 单 实 例 详 细 分 析 J P页 面 间数 据 传 递 的 7种 常 用 方 式 的 实现 方 法 , 从 数 据 量 、 储 位 置 、 用 S 并 存 作 域 、 全性 、 用 场合 等 方 面 比较 7种 方 式 的 特 点 , 安 适 为基 于J P技 术 开发 W e S b应 用 奠 定 基 础 。
入 用 户号 、 口令 , 后 在 欢 迎访 问 页面 ( ecmes ) 然 wl o .p 中读 取 并 j 显 示 用 户号 、 口令 。用 户 号用 变量 ue d表 示 , 口令 用 变 量 sr i
sc t eri e d表示 。
密 码 域 中 的 数 值 可 以 修 改 。在 we o .p页面 中 ,使 用 JP l mes c j S 的 rq et 象 的 gtaa t O 法 获 得 文 本 框 变 量 ue d eu s对 e r e 方 P me r sr 、 i
基础。
Olpit 欢 迎 访 问 !< r 您 的 用 户 号 : +u e d t. n ( tr “ b> ” s i+“< r r b> 您 的 口令 : +sce d ; ” e rt ) i
%> ’
22表 单方式 .
将 一个 页面 的表 单 域 元 素 数 据 提 交 给 另 一 个 页面 实 现 2
jsp 6个常用标签
一、Include指令<jsp:include>标签表示包含一个静态的或者动态的文件。
语法:<jsp:include page="path" flush="true" />or<jsp:include page="path" flush="true"><jsp:param name="paramName" value="paramValue" /></jsp:include>注:1、page="path" 为相对路径,或者代表相对路径的表达式。
2、flush="true" 必须使用flush为true,它默认值是false。
3、<jsp:param>子句能让你传递一个或多个参数给动态文件,也可在一个页面中使用多个<jsp:param> 来传递多个参数给动态文件。
二、Forward指令<jsp:forward>标签表示重定向一个静态html/jsp的文件,或者是一个程序段。
语法:<jsp:forward page="path"} />or<jsp:forward page="path"} ><jsp:param name="paramName" value="paramValue" />……</jsp:forward>注:1、page="path" 为一个表达式,或者一个字符串。
2、<jsp:param> name 指定参数名,value指定参数值。
参数被发送到一个动态文件,参数可以是一个或多个值,而这个文件却必须是动态文件。
jsp中四种传递参数的方法
jsp中四种传递参数的⽅法今天⽼师讲了jsp中四种传递参数的⽅法,我觉得总结⼀下,挺好的,以备后⽤!1、form表单2、request.setAttribute();和request.getAttribute();3、超链接:<a herf="index.jsp"?a=a&b=b&c=c>name</a>4、<jsp:param>下⾯⼀⼀举例说明:1、form表单form.jsp:<%@page contentType="text/html; charset=GB2312"%><html><head><title>form.jsp file</title></head><body style="background-color:lightblue"><h2 style="font-family:arial;color:red;font-size:25px;text-align:center">登录页⾯</h2><form action="result.jsp" method="get" align="center">姓名:<input type="text" name="name" size="20" value="" maxlength="20"><br/>密码:<input type="password" name="password" size="20" value="" maxlength="20"><br/><!--在爱好前空⼀个空格,是为了排版好看些--> 爱好:<input type="checkbox" name="hobby" value="唱歌">唱歌<input type="checkbox" name="hobby" value="⾜球">⾜球<input type="checkbox" name="hobby" value="篮球">篮球<br/><br/><input type="submit" name="submit" value="登录"><input type="reset" name="reset" value="重置"><br/></form></body></html>result.jsp:<%@page language="java" import="java.util.*" pageEncoding="GB2312"%><html><head><title>result.jsp file</title></head><body bgcolor="ffffff"><%request.setCharacterEncoding("GB2312");String name=request.getParameter("name");name=new String(name.getBytes("iso-8859-1"),"GB2312");String pwd=request.getParameter("password");String[] hobby=request.getParameterValues("hobby");//注意这⾥的函数是getParameterValues()接受⼀个数组的数据 %><%if(!name.equals("") && !pwd.equals("")){%>您好!登录成功!<br/>姓名:<%=name%><br/>密码:<%=pwd%><br/>爱好:<%for(String ho: hobby){ho=new String(ho.getBytes("iso-8859-1"),"GB2312");out.print(ho+" ");}%><%}else{%>请输⼊姓名或密码!<%}%></body></html>注意:form表单的提交⽅式为get,在参数传递时会遇到中⽂乱码的问题,⼀个简单的解决⽅法是,将接受到的字符串先转换成⼀个byte数组,再⽤String构造⼀个新的编码格式的String,如:1. String name=request.getParameter("name");2. name=new String(name.getBytes("iso-8859-1"),"GB2312");如果form表单的提交⽅式为post,解决乱码问题的简单办法是,使⽤ request.setCharacterEncoding("GB2312");设置request 的编码⽅式。
java表单from用法
java表单from用法一、概述Java表单Form是一种常用的用户输入方式,用于收集用户数据并提交给服务器进行处理。
在Java Web应用程序中,表单通常用于创建HTML表单页面,以收集用户输入的数据,并将其传递给Java Servlet或JSP页面进行处理。
二、表单元素Java表单Form通常包含以下元素:1. 表头:包含表单标题和提交按钮。
2. 输入框:用于接收用户输入的数据,可以包含文本框、密码框、多行文本框等。
3. 单选按钮:用于选择单个选项。
4. 复选框:用于选择多个选项。
5. 下拉列表:用于选择指定选项。
6. 表单:将多个表单元素组合在一起,形成一个完整的表单。
三、表单数据传递方式Java表单Form的数据可以通过以下方式传递给服务器:1. POST方法:通过HTTP协议将表单数据作为请求体发送给服务器。
2. GET方法:通过URL参数将表单数据附加到请求URL中,并在浏览器中显示出来。
3. 隐藏字段:将表单数据添加到表单的隐藏字段中,并在提交时一起发送给服务器。
四、表单数据处理Java Servlet或JSP页面可以使用Java代码处理表单数据,通常需要使用HttpServletRequest对象获取表单数据。
具体步骤如下:1. 获取表单数据:使用HttpServletRequest对象的getParameter()方法获取表单中的各个字段值。
2. 数据验证:对获取到的数据进行验证,确保数据的合法性和有效性。
3. 数据存储:将验证后的数据存储到数据库或应用程序中。
4. 响应结果:根据数据处理结果返回相应的响应,如重定向到其他页面或显示结果信息。
五、示例代码以下是一个简单的Java表单Form示例代码,用于收集用户姓名和年龄信息,并将其传递给Servlet进行处理:HTML表单页面(form.html):```html<form action="processForm.java" method="post">姓名:<input type="text" name="name"><br>年龄:<input type="number" name="age"><br><input type="submit" value="提交"></form>```Java Servlet处理代码(processForm.java):```java@WebServlet("/processForm")public class processForm extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String name = request.getParameter("name");int age =Integer.parseInt(request.getParameter("age"));// 进行数据验证和处理,这里省略具体代码...// ...根据数据处理结果返回响应...}}```以上代码中,HTML表单页面通过POST方法将数据传递给Java Servlet进行处理。
jsp的常用指令有哪些(编译指令动作指令整理)
jsp的常⽤指令有哪些(编译指令动作指令整理)Jsp包含三个编译指令和七个动作指令。
三个编译指令为:page、include、taglib。
七个动作指令为:jsp:forward、jsp:param、jsp:include、jsp:plugin、jsp:useBean、jsp:setProperty、jsp:getProperty。
1、 page指令a. 通常位于jsp页⾯的顶端,同⼀个页⾯可以有多个page指令。
语法格式如下:复制代码代码如下:〈% @page[language="Java"][extends="package.class"][import= "package. class I package. *},…"][session="true I false"][buffer="none I 8kb I size kb" 1[autoFlush="true I false"][isThreadSafe="true I false"][info="text"][errorPage="relativeURL"][contentType="mimeType[ ;charset=characterSet]" I"text/html;charset= "808859-1"][isErrorPage=" true I false"]%〉1)language属性,⼀般情况就是java,代表jsp页⾯使⽤的脚本语⾔。
2)Extends属性,确定 JSP 程序编译时所产⽣的 Java 类,需要继承的⽗类,或者需要实现的接⼝的全限定类名。
1.import属性,⽤来导⼊包,下⾯⼏个包是默认⾃动导⼊的,不需要显式导⼊。
chap4-JSP内置对象
request对象的常用方法举例
getProtocol(): 获取请求使用的通信协议,如 http/1.1等。
getServletPath(): 获取请求的JSP页面所在的路 径。
getContentLength(): 获取HTTP请求的长度。 getMethod(): 获取表单提交信息的方式,如POST
example4_8.jsp、example4_8_play_mp4.jsp
22
4.1.5处理超链接
超链接标记 <a href ="example4_9_receive.jsp>购买</a> 使用超链接标记时还可以增加参数: <a href
="example4_9_receive.jsp?id=A1001&price=876 5">购买</a> 获取参数: String idStr = request.getParameter("id");
algin= "top" checked="ok" />男生 (3)复选框checkbox <input type="checkbox" name= "item"
value="A" algin= "top" checked="ok" />足球 (4)口令框password <input type= "password" name= "me" size=
"12" maxlength="30" />
15
java后端主动向前端传递数据的方法
java后端主动向前端传递数据的方法
Java后端主动向前端传递数据的方法是通过使用HTTP协议进行数据交互。
以下是几种常用的方法:
1. 使用Servlet:Java后端可以编写Servlet来处理前端请求,并在响应中添加所需的数据。
通过使用ServletResponse对象的方法(如getOutputStream())将数据以字符串或JSON格式发送给前端。
2. 使用JSP:Java后端可以使用JSP页面来动态生成HTML,并在其中嵌入后端数据。
后端可以通过使用JSP标签库或Java代码将数据传递给前端。
3. 使用WebSocket:WebSocket是一种全双工通信协议,可以实现实时的、双向的数据传输。
Java后端可以使用WebSocket技术建立连接,并主动向前端推送数据,前端可以通过Websocket API接收数据。
4. 使用消息队列:后端可以使用消息队列系统(如ActiveMQ或RabbitMQ)将数据发送到前端。
前端可以订阅特定的队列或主题,接收后端发送的数据。
5. 使用Ajax:Ajax是一种在不重新加载整个页面的情况下与服务器进行数据交互的技术。
Java后端可以提供RESTful API,前端通过Ajax请求后端接口,并将返回的数据展示在页面上。
这些方法可以根据具体需求选择使用,根据业务场景的不同,可灵活选择适合的方式来实现后端向前端传递数据。
Action的总结
Action:1.实现一个Action的方式(有三种),最常用的就是从actionsupport继承。
2.DMI动态方法调用3.通配符配置*{1}{2}a)”_”4.接收参数的方法(一般用属性或者DomainModel -[域模型]、)三种5.简单参数验证addFieldErrora)一般不使用struts2的ul标签6.访问web元素a)Map类型i.Iocii.依赖struts2b)原始类型i.Iocii.依赖struts27.包含文件配置(includ)8.默认action处理Result,常用的四个类型1.dispatcher (默认)直接访问,只能跳转到jsp页面试图2.redirect直接访问,只能跳转到jsp页面试图3.chain链访问,可以访问到Actiona)当result用到chain(链)来跳转到另外一个action的时候,指的是在同一个包下的Action。
当跳转的Action是在另外一个包下的时候。
要查看result文档。
文档是通过加参数的方式。
才可以跳转过去!!4.redirectAction客户端跳转访问Action,可以用这个类型来访问action5.DynamicResult——动态结果6.<result>${r}<\result>.在配置文件里面struts.xml的这种写法。
$是用来代表可以用这种方式去读(Value stack)值栈里面的内容!通俗的说$就是在配置文件里往值、栈里面取值!7.对于任何一个Action。
它的对应的属性都会放在值栈里面的(如下图)下图中显示r已经在ValueStack里面!8.当另一个action访问第一个action的时候,是否需要传参?a)一次request(请求),只有一个值、栈(value、 stack)。
也就是说一次forward共享同一个值、栈!所以当其他action访问第一个action的时候,只需要直接访问。
jsp填空改错2010
10.Page指令的属性Language的默认值是_Java____。
1.out对象的__ out.flush()_____方法,功能是输出缓冲的内容。
<input type="submit" value="提交">
2.JSP页面的基本构成元素,其中变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为JSP脚本元素 。
3.指令标记、JSP动作标记统称为 JSP标记 。
4.“<%!”和“%>”之间声明的方法在整个页面内有效,称为页面的成员方法 。
(2) jsp页面两种跳转方式分别是什么?有什么区别?
3、(8分)编写简单的<form>提交name,passwd参数给get.jsp。
JSP是Java和Html的结合.
2、JSP是运行在服务器上的页面脚本语言。
3、Web服务器是一个B/S结构的www服务器,它的作用是整理和存储各种www资源。
7、JavaBean是一个_________类,它必须有一个________________方法。
8、在JSP中使用JavaBean的标签是__________________________________,其中id的用途是___________________________。
9、加载数据库驱动的方法是_____________________,连接数据源的方法是 ______________。
JSP 获取请求参数
JSP 获取请求参数在Web应用程序中,经常还需要完成用户与网站的交互。
例如,当用户填写表单后,需要把数据提交给服务器处理,服务器获取到这些信息并进行处理。
在JSP程序中,完成从客户端获取数据的方法可以是getParameter()、getParam eterName()和getParameterValues(),其中比较常用的为getParameter(),该方法的语在使用request对象获取参数的过程中,从JSP页面的URL查询字符串得到信息并将其传递过来时,服务器程序容器将这些信息作为一列Java的String对象来提供,这些字符串代表参数名称和参数值。
通常情况下,当一个浏览器向Web站点提出页面请求时,首先要向服务器发送连接请求,请求的内容包括服务器地址、所请求页面的路径等。
接着服务器会将请求的路径和页面的路径组合成确定所请求的页面,最后将返回到客户端。
客户端向服务器发送数据时,通常采用GET方法或POST方法。
●GET方法GET方法只适合于传递数据比较少的情况。
它传递数据时有两种形式,一种是在所请求页面的URL后添加数据,这样被传递的数据与页面URL之间通过问号隔开。
当有多个值要传递进,多个值之间使用符号“&”分隔开。
例如,“http://whf:8080/Test/test.jsp?name=admin&psw=123”,其中问号(?)后面为传递的内容,如name和psw为变量名,而admin和123分别为变量对应的值。
另一种通过GET方法传递数据的方式,如通过Web页面中使用HTML表单,并设置form表单中method属性值为GET。
●POST方法POST方法只能由Web页面的HTML表单来实现,即设置form中method属性值为POST。
这种方法提交的数据是以单独的模块发送到服务器中,而不会在链接地址URL中附加任何数据。
与GET方法相比,POST方法在向服务器传递信息时比较安全。
JSP课后习题参考答案
第 1 章Web 技术简介1、7、1 选择题1、Web 技术得设想于哪一年提出()。
A 、1954 年B、1969 年C 、1989 年D、1990 年2、JSP页面在第一次运行时被JSP引擎转化为()。
A 、HTML 文件B 、CGI 文件C 、CSS 文件D、Servlet 文件3、JavaEE体系中Web层技术就是()。
A 、HTML B、JavaBeanC 、EJB D、JSP参考答案: 1 、C 2、 D 3、D1、7、2 填空题1、当前主流得三大动态Web 开发技术就是:PHP、ASP/ASP、NET 与_______________ 。
2、JSP得两种体系结构就是:________________ 与_______________ 。
3、JSP 开发Web 站点得主要方式有:直接JSP、JSP+JavaBean、_____________ 、 _____________ 与 SSH。
参考答案:1、JSP2、JSP Model1 与JSP Model23、JSP+JavaBean+Servlet、J2EE/JavaEE1、7、3 简答题1、简述JSP 得工作原理。
答:所有得JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要就是由JSP引擎来完成。
当第一次运行一个JSP页面时,JSP引擎要完成以下操作:将JSP 文件翻译成Servlet 文件,Servlet 文件就是Java 应用程序。
JSP引擎调用Java编译器,编译Servlet文件得到可执行得代码文件(、class文件)。
JSP引擎调用Java虚拟机解释执行、class文件,并将运行结果返回给服务器。
服务器将运行结果以HTML 形式作为响应返回给客户端得浏览器。
由于一个JSP页面在第一次被访问时要经过翻译、编译与执行这几个步骤,所以客户端得到响应所需要得时间比较长。
当该页面再次被访问时,它对应得、class 文件已经生成,不需要再次翻译与编译,JSP引擎可以直接执行、class文件,因此JSP页面得访问速度会大为提高。
JSP基本语法教程
property属性赋予不同的值代表不同的含义。
Property=“*”:这种赋值方式表示所有请求参数
的所有值,用于匹配Bean中的属性值。在Bean
中的属性的名字必须和Request对象中的参数名 一致。
Property=“propertyName”[param=“parameter
4.2.3 脚本段( Scriptlets )
脚本段代码的格式:
<% scriptlet %>
脚本段在Web服务器响应时就会运行。
【注意】
脚本段内不能定义方法。
4.2.4 表达式(Expression)
JSP表达式用来把Java数据直接插入到输出。
表达式的格式为:<%=Java Expression %>
4.3.2 include指令
include指令用于在JSP页面中包含另一个文
件的内容。
include指令的语法格式:
<%@ include file=“relativeURL” %>
“relativeURL”表示此file的路径,路径名一般
来说是指相对路径。 【注意】
include包含文件的内容也是JSP代码,即可以包
Bean的作用域。此属性是可选的,其缺省值为page。
求范围内有效。
session-创建一个与当前用户相关的实例,该实例只在当前用 户范围内有效。
application-创建一个与当前应用相关的实例,该
实例只在当前用户范围内有效。
(3)class
class指Bean的.class文件的名称。
4.4.2 <jsp:setProperty>
Struts常用action作用和用法
Struts常用action作用和用法Struts中提供了几种比较通用的action,这些action使用方便灵活,配置简单。
它们的继承关系如下图所示。
我们完全可以使用这些现成的action,没有必要重复制造轮子。
下面主要介绍我整理的这些action的作用和使用方法,适合于对struts有一定了解人员,欢迎批评指正。
1、ForwardAction(1)作用用于转发请求,相当于JSP中的<jsp:forward>。
MVC设计原则是控制器负责处理所有请求,然后选择适当的视图组件返回给用户。
在Struts应用中,应尽量避免直接链接JSP资源,否则将脱离控制器的控制,比如:<jsp:forward page=”../xx.jsp”>、<a href=”../xx.jsp”>、<html:link page=”../xx.jsp”>。
Struts控制器具有预处理请求功能,它能够选择正确的子应用模块来处理请求,把子应用模块的ModuleConfig和MessageResourc es对象存放在request范围内。
使用ForwardAction,请求转发的目标Web组件就可以正常地访问ModuleConfig和MessageResources对象。
(2)使用方法ActionServlet把请求转发给ForwardAction,ForwardAction再把请求转发给<action>元素中parameter属性指定的Web组件。
在struts-config.xml中配置相应的action就可以了,parameter是要转向到的url地址,如下所示。
<action path="/forwardIndex"type="org.apache.struts.actions.ForwardAction"parameter="/index.jsp"/>当请求“/forwardIndex”它就把控制跳转到parameter所指的“/index.jsp”2、IncludeAction(1)作用用于包含其他Web组件,相当于JSP中的<jsp:include>。
jsp程序设计
jsp程序设计exer03133-1 JSP页⾯由哪些元素构成?主要由指令标识、脚本标识、jsp注释和动作标识构成。
3-2 JSP中主要包含哪⼏种指令标识?它们的作⽤及语法格式是什么?1、page指令,定义在jsp范围内有效的属性,格式为<%@page attr1="value1" attr2="value2"...%>2、include指令,⽤于在当前页⾯的当前位置嵌⼊其他的⽂件,如果嵌⼊的⽂件含有可执⾏代码,则显⽰代码执⾏后的结果。
格式为<%@include file="⽂件的绝对路径或相对路径"%>3、taglib指令,定义⼀个标签库以及其⾃定义标签的前缀,格式为<%@taglib uri="taguri" prefix="tagprefix"%> pre3-3 JSP中的脚本标识包含哪些元素?它们的作⽤及语法格式是什么?脚本标识包含三种元素:声明标识、jsp表达式、脚本程序(1)jsp表达式⽤于向页⾯中输出信息,格式为<%=变量或可以返回值得⽅法或java表达式%>(2)声明标识可以在页⾯中声明变量或⽅法,格式为<%!声明变量或⽅法的代码%>(3) 脚本程序中可以定义变量、调⽤⽅法和进⾏各种表达式运算,每⾏语句后以分号结尾,格式为<% java代码 %>3-6 page指令中的哪个属性可多次出现:(C)(A)contentType (B)extends(C)import (D)不存在这样的属性3-7 以下哪些属性是include指令所具有的:(B)(A)page (B)file(C)contentType (D)prefix3-8 下列选项哪些是正确的JSP表达式语法格式:(D)(A)<%String name="YXQ"%> (B)<%String name="您好";%>(C)<%="您好";%> (D)<%="YXQ"%>exer0320⼀. JSP中常⽤的动作标识有哪些?作⽤分别是什么?1、jsp:include:在页⾯被请求的时候引⼊⼀个⽂件,格式为<jsp:include page=""/>2、jsp:useBean:寻找或者实例化⼀个JavaBean。
3jsp输入和输出对象
4
request 对象
表示并存储客户端的请求
JSP 页面
请求
请求信息
request 对象
客户端
应用服 务器
封装了客户端的请求 用 HTTP 协议处理请求
录入用户名和密码,提交至doLogin.jsp验证 验证通过,重定向到welcome.jsp,否则回login.jsp
客户端重新建立链接 <% doLogin.jsp request.setCharacterEncoding(“UTF-8"); <form name="form1" method=post action="doLogin.jsp"> String userName= request.getParameter("userName"); <input type="text" name="userName"> 用户名: String passWord= request.getParameter("passWord"); 密码:<input type=“password" if("admin".equals(userName) && name="passWord"> "admin".equals(passWord)) { response.sendRedirect("welcome.jsp"); <input type="submit" value="登录"> } else { login.jsp <form> 重定向至 response.sendRedirect("login.jsp "); 欢迎页面 } %> 14
pagecontext方法
pagecontext方法==========PageContext是Java Web开发中常用的一种方法,它主要用于在Web应用程序中传递数据和执行操作。
本文将介绍PageContext方法的基本概念、使用方法和常见用法。
一、基本概念-----PageContext对象是Web应用程序中的一个内置对象,它提供了对当前请求和会话的上下文信息的访问。
这些信息包括请求参数、页面属性、会话属性、应用程序范围属性等。
通过PageContext,开发人员可以在Java代码中方便地访问这些信息,从而实现各种功能和操作。
二、使用方法-----在Java Web应用程序中,可以通过以下方式使用PageContext方法:1. 访问请求参数:可以使用PageContext对象的getRequestParameter方法来获取请求参数的值。
例如,可以使用PageContext.getRequestParameter("paramName")来获取名为"paramName"的请求参数的值。
2. 设置页面属性:可以使用PageContext对象的setAttribute 方法来设置页面属性。
页面属性可以在整个页面范围内有效,可以在页面中使用任何地方访问。
例如,可以使用PageContext.setAttribute("propertyName", value,PageContext.PAGE_SCOPE)来设置名为"propertyName"的页面属性,其值为value。
3. 访问页面属性:可以使用PageContext对象的getAttribute 方法来获取页面属性。
页面属性可以在整个页面范围内有效,但只能在当前页面中访问。
例如,可以使用PageContext.getAttribute("propertyName")来获取名为"propertyName"的页面属性的值。
JSP中嵌入java代码方式以及指令
JSP中嵌⼊java代码⽅式以及指令JSP中嵌⼊java代码的三种⽅式:(1)声明变量或⽅法 : <%! 声明; %> :慎重使⽤,因为此⽅法定义的是全局变量(2)java⽚段(scriptlet): <% java代码; %>(3)表达式:⽤于输出表达式的值到浏览器,<%=表达式 %> 在表达式中不能加分号(;)JSP页⾯的指令<%@ page %> //这个⼀般是写在最顶上的⽐如导⼊等<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>指令的作⽤:设置JSP页⾯的属性和特征常⽤指令:(1)<%@ page %> 或<jsp:directive.page > :常⽤属性:language=""contentType="text/html;charset=UTF-8"pageEncoding="" import="com.inspur.Dpet"isErrorPage="true|false" 指定当前页⾯是否可以作为错误页errorPage="error.jsp" (error.jsp页⾯中的isErrorPage="true")(2)<%@ include file="url"%> 或<jsp:directive.include >【注意】静态包含,在编译阶段把其他⽂件包含进来⼀起编译⽣成字节码⽂件问题:(1).被包含的⽂件中不能包含<html></html><body></body>;(2).file属性赋值不能⽤表达式,不能带参数HTML中form、reset和submit标签的⽤法:<form name=”loginForm” method=”post/get” action=”…” onsubmit=”return function()”>//action的内容是Servlet Mapping当中的URL<input type=”reset” id=”reset” name=”reset” value=”重置”/><input type=”submit” id=”submit” name=”submit” value=”登陆”/></form>form表单的method中post和get的区别:Post提交的数据更具隐蔽性,适合提交⼤批量的数据⽽get提交的数据隐蔽性不好,会在地址栏内显⽰出来⽽且地址栏最多允许255个字符上述这种通过get传输数据的⽅法也可以通过超链接实现:<a href="user?username=admin&password=123&submit=登陆"></a>效果与get⽅法⼀样,⽽且⽤超链接提交的数据也可以⽤String userrname = request.getParameter("username"); 得到数据,其中⽅法的参数是数据名称即等号前的,值是等号后的。
jsp的常用命令
1.request对象客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。
它是HttpServletRequest类的实例。
1 object getAttribute(String name) 返回指定属性的属性值2 Enumeration getAttributeNames() 返回所有可用属性名的枚举3 String getCharacterEncoding() 返回字符编码方式4 int getContentLength() 返回请求体的长度(以字节数)5 String getContentType() 得到请求体的MIME类型6 ServletInputStream getInputStream() 得到请求体中一行的二进制流7 String getParameter(String name) 返回name指定参数的参数值8 Enumeration getParameterNames() 返回可用参数名的枚举9 String[] getParameterValues(String name) 返回包含参数name的所有值的数组10 String getProtocol() 返回请求用的协议类型及版本号11 String getScheme() 返回请求用的计划名,如:http.https及ftp等12 String getServerName() 返回接受请求的服务器主机名13 int getServerPort() 返回服务器接受此请求所用的端口号14 BufferedReader getReader() 返回解码过了的请求体15 String getRemoteAddr() 返回发送此请求的客户端IP地址16 String getRemoteHost() 返回发送此请求的客户端主机名17 void setAttribute(String key,Object obj) 设置属性的属性值18 String getRealPath(String path) 返回一虚拟路径的真实路径2.response对象response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jsp页面传参的4种常用方式
来源:未知更新时间:2010-06-27 点击: 266次
jsp页面之间传递参数的方式有很多种,今天为大家总结常用的4种传参方式。
1.JavaScript传参:这种传参方式用opener关键字, 可以实现跨页传参.其用法就是用opene r关键字调用父窗体的一个组件.
举例: opener.myform.txt.value = document.myform.txt.value;
优点: 简单,对网络传输限制比较底.
缺点: 不灵活,对与大量的传参不现实,也不实际.
2. " ? "传参: 在传递地址的尾部加上? 后面跟参数的名字和其值,在另外一个Jsp页面中就可以用request.getParameter("参数名字");获取到传递的参数.
举例: http://localhost:8080/bbs/tiezi/jishu.jsp?id=1
优点: 灵活,只要把需要传递的参数放到一个变量中传递到传递的也面就可以了.
缺点: 对于批量传参也不现实.
3. session传参:通常把它用来实现状态维持.session中有2个参数,第一个为标识,第二个为值,形式("key","value") 如果你的思维敏捷,就能联想到散列表,对它就是散列表的一种实现.
应用举例: session.setAttribute("login","ok"); session.getAttribute("login");
优点: 不用关心是什么数据类型,都可以放到session中,它以对象的形式存储于散列表中. 缺点: session中把所有数据当成对象来存取,所以每次我们用它的时候都要把类型强制转换为我们需要的类型.
4. JavaBean传参: 这是最高级的一种传递参数,它把任何数据类型,任何方式封装在JavaB ean中.我们在属性中定义需要传递的参数,然后加入一个get和set方法就可以了,在Jsp 中调用的时候可以设置其生命周期,完成传递参数的过程.
应用举例:
package bean;
public class sampleBean
{
private String sample="Star value";
public String getSample()
{
return sample;
}
public void setSample(String newsample)
{
if(newsample!=null)
{
sample=newsample;
}
}
优点: 灵活,多样,传递数组、对象、哈希表、等等数据结构.
缺点: 根据传递参数的不同编写不同的JavaBean,费时费力.
通过以上的4种方式几乎可以解决jsp传参的问题了,至于使用哪一种就看你的需要了,根据它们的优缺点,以及实际情况和现实需要,选择一种传递方式。