单元3-2 JSP内置对象1(request、response)
轻松学Java Web开发之JSP内置对象
3.1.1 获取用户提交的表单信息
request对象最主要的一个作用就是用来封装用户提 交的表单信息,然后通过如下两个方法来获取用户 提交的表单信息。 getParameter(Sting name):获取客户端传给服务器的 参数值。 getParameterValues(Sting name):获得某一个参数的 所有的值。
<jsp:forward> sendRedirect() (1)完全跳转,浏览 器将会得到跳转后地 址,并重新发送链接
(1)JSP引擎控制权的 转向,地址栏中不会显 示转向后地址
(2)转向地址必须是 相对路径,转向页面与 转向到页面必须位于一 个Web应用中
(2)sendRedirect() 方法中location用来指 定转向地址。既可以是 相对路径,也可以是一 个合法的URL
3.4.2 session中保存和读取共享 数据
与request对象一样,session对象也有一对 setAttribute()和getAttribute()方法,用来存储或者读 取session中的共享信息。而两种对象的两个方法的 区别在于共享信息的范围不同,session对象中保存 的共享信息的范围是整个会话过程,而request对象 中保存共享信息的范围则是提交和被提交的页面。
getCreationTimes()
getId()
getLastAccessedTime()
返回唯一标识该session的ID
返回与该session相关的客户端最后发送请求的时间
下面我们通过几个session常用实例的介绍,来详细说明这些方 法的具体用法。
3.4.1 获取session的ID
session对象的ID是用来唯一识别session的标识。该 ID由一个32位的十六进制字符串组成,可以保证服 务器中所创建的所有session对象都不相同。
jsp内置对象
17
JSP
response方法应用案例 例 :返回服务器的编码属性和一个打印输出对象, 并每8秒钟刷新一次页面,显示时间。
信息工程系
18
JSP
out对象中预定义的常量和变量 在out对象中定义了某些方法要使用的常量和变量,变量 在使用时需要赋值。 (1) NO_BUFFER:表示非缓冲区输出。 (2) DEFAULT_BUFFER:缓冲区输出,使用默认的缓冲 区大小。 (3) bufferSize:缓冲区大小,以字节为单位的整型数。 (3) autoFlush:是否自动清空缓冲区。
信息工程系
20
JSP
out对象应用案例 1.out对象常用方法应用案例 例 : out对象一些方法的应用 flush()方法应用 例 : 应用for循环延迟文字的输出,并使用flush() 方法把缓冲区的内容输出到页面,使输出的文字 逐行显示出来。
信息工程系
21
JSP
session对象
会话(session)和会话ID
response对象常用方法 (1)getCharacterEncoding() :返回服务器响应客户所 使用的编码属性。 (2)getWriter:获得一个打印输出对象,用来向客户 发送文本。 (3)setContentLength:用来设置服务器发送给客户端 内容的长度。 (4)setHeader :动态添加新的响应头和头的值。
application config exception out page pageContext
javax.servlet.ServletContext javax.servlet.ServletConfig ng.Throwable javax.servlet.jsp.JspWriter javax.servlet.jsp.HttpJspPage javax.servlet.jsp.PageContext
实例详解JSP内置对象--response对象
jsp九种内置对象:request, reponse, out, session, application, config, pagecontext, page, exception.一.request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
1.Request对象可以使用getParameter(string s)方法获取该表单通过text提交的信息。
如:Request.getParameter(“boy”)例:request1.jsp:<%@ page contentType="text/Html;charset=GB2312" %><HTML><BODY bgcolor=green><FONT size=1><FORM action="tree.jsp" method=post name=form><INPUT type="text" name="boy"><INPUT TYPE="submit" value="Enter" name="submit"></FORM></FONT></BODY></HTML>tree.jsp:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=green><FONT size=1><P>获取文本框提交的信息:<%String textContent=request.getParameter("boy");%><BR><%=textContent%><P> 获取按钮的名字:<%String buttonName=request.getParameter("submit");%><BR><%=buttonName%></FONT></BODY></HTML>注意:使用request对象获取信息要格外小心,要避免使用空对象,否则会出现NullPointerException异常,所以我们可以作以下处理.:request3.jsp<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan><FONT size=5><FORM action="" method=post name=form><INPUT type="text" name="girl"><INPUT TYPE="submit" value="Enter" name="submit"></FORM><%String textContent=request.getParameter("girl");double number=0,r=0;if(textContent==null){textContent="";}try{ number=Double.parseDouble(textContent);if(number>=0){r=Math.sqrt(number) ;out.print("<BR>"+String.valueOf(number)+"的平方根:");out.print("<BR>"+String.valueOf(r));}else{out.print("<BR>"+"请输入一个正数");}}catch(NumberFormatException e){out.print("<BR>"+"请输入数字字符");}%></FONT></BODY></HTML>2.处理汉字信息:当request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理。
JSP内置对象
JSP内置对象JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception1、request对象request 对象是javax.servlet.httpServletRequest类型的对象。
该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。
(包括头信息、系统信息、请求方式以及请求参数等)。
request对象的作用域为一次请求。
2、response对象response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。
response对象也具有作用域,它只在JSP页面内有效。
3、session对象session 对象是由服务器自动创建的与用户请求相关的对象。
服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。
session对象内部使用Map类来保存数据,因此保存数据的格式为“Key/value”。
session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。
4、application对象application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。
与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。
5、out 对象out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。
在使用out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。
待数据输出完毕后,要及时关闭输出流。
6、pageContext 对象pageContext 对象的作用是取得任何范围的参数,通过它可以获取JSP页面的out、request、reponse、session、application 等对象。
第3章 JSP内置对象
3.1.8 访问国际化信息
• 浏览器可以使用一个名为accept-language的 HTTP报头向Web服务器指明它们喜欢使用的语 言。请求对象中的getLocale()和getLocales()方 法允许JSP开发人员获取这一信息。从这些调用 返回的对象属于java.util.Local类型。这些对象封 装了一个国家和一种语言。 访问国际化信息的方法如下:
在application对象中设置的属性在整个应用程序范围内是有效的,只 要不关掉应用服务器,在其中设置的属性仍然是有效的。
• 支持资源的提取
ServletContext 对象支持直接访问静态文档层次(建立在相对URL之上) 中的Web资源。开发者可以使用 getResource() 或 getResourceAsStream() 方法来完成。
第3章 JSP内置对象 JSP内置对象
• • • • • • • • • • 处理客户请求信息的request对象 JSP内置对象介绍 控制服务器的响应信息的response对象 管理客户的会话的session对象 Web应用全局对象的application对象 当前页面的引用的page变量 Servlet的配置信息的config对象 向客户输出数据的out对象 异常处理的exception变量 小结
3.1.2 访问请求参数
• request对象中提供的方法getParameter()、 getParameterNames()、getParameterValues() 等可以用于检索从HTML表单传递来的URL编码 的数据信息。 • 访问request参数的方法如下:
1. getParameter(ng.String name)以String的形式返回请求参数的 值,如果参数不存在,则返回null 2. getParameterNames()返回String对象的枚举,其个包含该请求中包 括的参数的名称 3. getParameterValues(ng.String name)返回一个String对象的数 组,其中包含给定的请求参数所具有的所有值,如果参数不存在,则 返回null
第3章 JSP内置对象-3.1~3.5
说明
返回此request中参数name对应的值,若不存在则返回null。 常用于获取表单控件的值,或获取URL参数的值 返回属性名为name的所有值的字符串数组,若不存在则返回null 返回属性名为name的值,如果不存在则返回null 为属性名为name的属性设值 返回request对应的session对象,如果没有,则创建一个 返回浏览器所有的Cookie的对象数组 请求的转发。服务器在执行当前文件的过程中转向目标网页或程序path, 同时将request对象和response对象传递过去 返回此request URL包含的查询字符串 返回请求中所有参数名的集合 返回所有HTTP头的名称集合 返回当前页的Locale对象,可以在response中设置 返回name指定的信息头 返回request URI中指明的上下文路径 返回所请求的Servlet路径 返回任何额外的与此request URL相关的路径 返回此request中的HTTP方法,如GET、POST或PUT 返回request的URI 返回浏览器的IP地址 返回服务器端口号
javax.servlet.ServletRequest
response 响应对象,响应浏览器时的相关信息和操作
javax.servlet.ServletResponse
out
输出对象,控制数据输出的操作
javax.servlet.jsp.JspWriter
session 会话对象,记录与处理上线者的个别数据
JSP开发案例教程
3.2 request对象
序号
1
2 3 4 5 6
7
8 9 10 11 12 13 14 15 16 17 18 19
表3-2 request对象的部分方法
JSP内置对象
JSP内置对象⼀.request对象(1)定义:request对象是javax.servlet.http.HttpServletRequest 类的实例(2)作⽤:1.使⽤对应的⽅法获取客户端提交的数据(eg:getPqrameter(),setPqrameter()[要考虑转码]、setAttribute(),getAttribute()[不⽤考虑转码]) 2.在作⽤域中管理属性,取名,设值,以名获值 3.请求转发(getRequestiDispatcher("xxx.jsp").forward(request,response))【我⾃⼰都不愿意看的:客户端的请求信息被封装在request对象中(如⽤户名填写后提交的信息,客户端的IP地址等),再通过request对象与客户端交互,通过request相对应的各种⽅法来收集客户端的Form Cookies 超连接,或者收集服务器的⼀些环境变量,主要⽤来处理客户端浏览器提交的请求中的各项参数和选项。
(是HttpServletRequset的实例)】(3)使⽤过程描述:服务器通过request对象的相关⽅法获取到客户端通过HTML表单或⽹页地址后⾯提供的参数⽅法(get或post)提交的数据(4)常⽤⽅法1.取值和设值get/setParameter(String name)setAttribute(String ,Object)getAttribute(String name)2.请求相关getContentType()getProtocol()getServerName()getServerPort()getContentLength()getRemoteAddr()3.编码相关get/setCharacterEncoding()4.路径相关getRealPath(String path)getContextPath()/**以上都是对安全信息的访问*/5.提交相关get.Method()⼆.response对象(1)定义:response对象是javax.sevlet.HttpServletResPonse接⼝类的对象,封装了JSP产⽣的响应(2)作⽤:1.重定向(sendRedirect("xxx.jsp")) 2.设置HTTP响应报头 3.缓冲区配置 4.添加或处理响应,例如将响应重定向到另⼀个资源,发送错误等。
jsp内置对象-response对象
jsp内置对象-response对象
⼀、概念
隐含对象response是javax.servlet.HttpServletResponse接⼝实现类的对象。
response对象封装了JSP产⽣的响应,⽤于响应客户端的请求,向客户端输出信息。
每次服务器端都会响应⼀个response实例。
response对象经常⽤于设置HTTP标题、添加Cookie、设置响应内容的类型和状态、发送HTTP 重定向和编码URL等。
response对象的常⽤⽅法:
⼆、response重定向
request对象的sendRedirect()⽅法是向服务器发送⼀个重定向请求。
当使⽤该⽅法转到另⼀个页⾯时,等于重新发送了⼀个请求,所以在原来页⾯中的request参数转到新页⾯之后就失效了,这是因为他们的request不同。
⼀般来说,在页⾯中使⽤sendRedirect()⽅法时,不能在⽅法前有HTML输出,但并⾮绝对的,不能有HTML输出其实是指不能有HTML被送到浏览器。
实际上,现在的服务器有cache机制,⼀般在8KB左右。
所以,除⾮关闭cache,或者你使⽤了⽅法out.flush()强制刷新,否则在使⽤sendRedirect()⽅法之前,有少量的HTML输出也是允许的。
项⽬ch04案例
step1:创建user.jsp:
step2:创建response.jsp
结果:http://localhost:8080/ch04/userresponse.jsp
登录失败:
点击登录后,重新定向到该页⾯:
登录成功:。
jsp有哪些内置对象?作用分别是什么?
jsp有哪些内置对象?作⽤分别是什么?
JSP共有以下9种基本内置组件
1、request对象客户端请求,此请求会包含来⾃GET/POST请求的参数通过它才能了
解到客户的需求,然后做出响应。
2、response对象响应客户请求的有关信息
3、session对象它指的是客户端与服务器的⼀次会话,从客户端连到服务器的⼀个WebApplication开始,直到客户端与服务器断开连接为⽌。
4、out对象它是JspWriter类的实例,是向客户端输出内容常⽤的对象
5、page对象它是指向当前JSP页⾯本⾝,有点象类中的this指针,它是 ng.Object类的实例
6、application对象它实现了⽤户间数据的共享,可存放全局变量。
它开始于服务器的启动,直到服务器的关闭
7、exception对象它是⼀个例外对象,当⼀个页⾯在运⾏过程中发⽣了例外,就产⽣这个对象。
8、pageContext对象它提供了对JSP页⾯内所有的对象及名字空间的访问
9、config对象它是在⼀个Servlet初始化时,JSP引擎向它传递信息⽤的。
JSP内置对象
9. findAttribute():该方法则可以用来按照页面、请示、会话对及应用程序范围的顺序实现对某个已经命名属性的搜索。
10. setAttribute():该方法可以用来设置默认页面范围或特定对象范围之中的已命名对象。
11. moveAttribute():该方法可以用来删除默认页面范围或特定对象范围之中的已命名对象。
12. getParameterNames(String name):获得客户端传送给服务器端的所有参数的名字,其结果是一个枚举的实例。
13. getParameterValues(String name):获得指定参数的所有值,参数由name指定。
14. getProtocol():获得客户端向服务器端传送数据所依据的协议名称。
23. removeAttribute(String name):删除请求中的一个属性。
24. setAttribute(String name,ng.Object objt):设置名字为name的request参数的值,该值是由ng.Object类型的objt指定的。
7:config 对象
config对象被封装成javax.servlet.ServletConfig接口,它表示Servlet的配置。当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet。
4. getCookies():返回客户端的所有Cookies对象,结果是一个Cookies数组。
5. getCharacterEncoding():返回请求中的字符编码方式。
6. getcontentLength():返回请求的Body的长度,如果不确定长度则返回-1。
JSP中request与response的用法详解
JSP中request与response的⽤法详解JSP 中request与response的⽤法详解概要:在学习这两个对象之前,我们应该已经有了http协议的基本了解了,如果不清楚http协议的可以看我的关于http协议的介绍。
因为其实request和response的使⽤⼤部分都是对http协议的操作。
request对象的介绍我们先从request对象进⾏介绍:我们知道http协议定义了请求服务器的格式:请求⾏请求头空格请求体(get请求没有请求体)好了,这⾥我们就不详细介绍了,我们只看⼏个应⽤就可以了,没什么难度:应⽤1 获取请求头/*** 获取HTTP请求头 * String getHeader(String name),适⽤于单值头 * int getIntHeader(String name),适⽤于单值int类型的请求头 * long getDateHeader(String name),适⽤于单值毫秒类型的请求头 * Enumeration<String> getHeaders(String name),适⽤于多值请求头***/public class CServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String ip = request.getRemoteAddr();//获取IP地址String method = request.getMethod();//获取请求⽅式System.out.println(ip);System.out.println(method);getLiuLanQi(request);protectMethod(request, response);}//防盗链public void protectMethod(HttpServletRequest request,HttpServletResponse response) {String url = request.getHeader("referer");System.out.println(url);if(url != null && url.equalsIgnoreCase("http://localhost:8080/day10/MyHtml.html") ) {System.out.println("hi");}else {response.setStatus(302);response.setHeader("Location","/day10/MyHtml.html");System.out.println("重定向");}}//判断浏览器的类型public void getLiuLanQi(HttpServletRequest request) {String user = request.getHeader("User-Agent");if(user != null) {String userNoC = user.toLowerCase();if(userNoC.contains("chrome")) {System.out.println("浏览器类型:⾕歌" );}else if(userNoC.contains("firefox/")) {System.out.println("浏览器类型:⽕狐");}else {System.out.println("浏览器类型:IE");}}else {System.out.println("null");}应⽤2获取URL路径/*** 获取请求URLhttp://localhost:8080/day10_2/AServlet?username=xxx&password=yyy > String getScheme():获取协议,http > String getServerName():获取服务器名,localhost > String getServerPort():获取服务器端⼝,8080 > *****String getContextPath():获取项⽬名,/day10_2 > String getServletPath():获取Servlet路径,/AServlet > String getQueryString():获取参数部分,即问号后⾯的部分。
JSP的内置对象及作用
JSP的内置对象及作用JSP(Java Server Pages)是一种基于Java的用于动态生成网页的技术。
在JSP中,有一些内置对象可供使用,这些对象具有特定的作用,能够帮助开发者简化代码并实现与客户端的交互。
本文将详细介绍JSP的内置对象及其作用。
1. request对象:request对象用于获取客户端发出的HTTP请求的相关信息,例如请求的URL、参数、头部信息等。
通过request对象,开发者可以处理来自客户端的请求并返回相应的数据。
2. response对象:response对象用于向客户端发送HTTP响应,可以通过该对象设置HTTP响应的头部信息、状态码、响应内容等。
通过response对象,开发者可以将结果返回给客户端。
3. out对象:out对象是一个输出流,用于向客户端输出数据。
开发者可以使用out对象输出HTML代码、文本、变量等内容,将结果展示给用户。
4. session对象:session对象用于存储用户的会话信息。
它是在用户访问服务器时自动创建的,每个用户的session对象都有一个唯一的ID。
通过session 对象,开发者可以在多个页面之间共享数据,实现用户状态的管理。
5. application对象:application对象是整个应用程序共享的,所有用户都可以访问它。
它在服务器启动时创建,只有一个实例。
通过application对象,开发者可以在整个应用程序中共享数据,实现数据的全局访问。
6. pageContext对象:pageContext对象是JSP页面的上下文对象,可以访问其他内置对象。
通过pageContext对象,开发者可以获取其他内置对象,例如request、response、session、application等。
7. exception对象:exception对象用于处理JSP页面中的异常。
当JSP页面发生异常时,exception对象会被自动创建,并且可以向页面输出异常信息供开发者进行调试。
jsp九大内置对象
SP中使用到的内置对象主要有如下九个:request内置对象response内置对象page内置对象session内置对象application内置对象out内置对象exception内置对象config内置对象pageContext内置对象在jsp开发当中使用比较多的就request、response、session和out对象。
下面是各个对象的介绍和使用实例。
一、request内置对象request内置对象是最常用的对象之一,它代表的是Java.servlet.HttpServletRequest类的对象。
request内置对象中包含了有关浏览器请求的信息,并提供了多个用于获取cookie、header以及session内数据的方法。
request对象常用方法request对象主要用于客户端请求处理,其中,该对象中所包含的方法有:request对象主要用于客户端请求处理,其中,该对象中所包含的方法有:getMethod():返回HTTP请求信息中所使用到的方法名称;getServletPath():返回请求信息中调用Servlet的URL部分;getQueryString():返回HTTP GET请求信息中URL之后的查询字符串;getContentType():返回请求实体的MIME类型;getProtocol():返回请求信息中的协议名名字与版本号;getPathInfo():返回有关任何路径信息;getServletName():返回接受请求的服务器主机;getServletPort():返回服务器的端口号;getRemoteHost():返回提交请求的客户机的规范名字;getRemoteAddr():返回提交请求的客户机的IP地址;getScheme():返回请求使用的模式(协议)名字;getParameter():返回客户端通过表单提交过来的参数值。
例如request. getParameter(“myname”),通过该语句来获取客户端传递过来的myname 参数。
JSP内置对象request和response
请求响应流程图response1response概述response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletResponse。
在客户端发出每个请求时,服务器都会创建一个response对象,并传入给Servlet.service()方法。
response对象是用来对客户端进行响应的,这说明在service()方法中使用response对象可以完成对客户端的响应工作。
response对象的功能分为以下四种:●设置响应头信息;●发送状态码;●设置响应正文;●重定向;2response响应正文response是响应对象,向客户端输出响应正文(响应体)可以使用response的响应流,repsonse一共提供了两个响应流对象:●PrintWriter out = response.getWriter():获取字符流;●ServletOutputStream out = response.getOutputStream():获取字节流;当然,如果响应正文内容为字符,那么使用response.getWriter(),如果响应内容是字节,例如下载时,那么可以使用response.getOutputStream()。
注意,在一个请求中,不能同时使用这两个流!也就是说,要么你使用repsonse.getWriter(),要么使用response.getOutputStream(),但不能同时使用这两个流。
不然会抛出IllegalStateException异常。
2.1字符响应流●字符编码在使用response.getWriter()时需要注意默认字符编码为ISO-8859-1,如果希望设置字符流的字符编码为utf-8,可以使用response.setCharaceterEncoding(“utf-8”)来设置。
这样可以保证输出给客户端的字符都是使用UTF-8编码的!但客户端浏览器并不知道响应数据是什么编码的!如果希望通知客户端使用UTF-8来解读响应数据,那么还是使用response.setContentType("text/html;charset=utf-8")方法比较好,因为这个方法不只会调用response.setCharaceterEncoding(“utf-8”),还会设置content-type响应头,客户端浏览器会使用content-type头来解读响应数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
能力目标
会使用request对象获取参数值; 会处理乱码和数值类型; 会使用request对象共享请求范围 内的对象数据; 会使用response对象进行页面转 向。
掌握使用response对象进行页面转向。
软件学院
JavaWeb应用开发课程组
1
任务介绍与分析
引入:任务3-1中设计并实现了用户的登录页面,用户
软件学院 JavaWeb应用开发课程组
2
相关知识– out对象
• out对象是一个输出流,管理应用服务器上的输出缓冲区 ,用于向客户端输出数据。 • out对象往浏览器输出的内容都是文本型的,可以用out对 象直接编程生成一个动态的HTML文件并发送给浏览器显 示。 • 作用范围为page,对于每个JSP页面,都有一个out对象。
软件学院
JavaWeb应用开发课程组
2
相关知识– request的常用方法
课堂演示
//login.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <html> <body> <form name="myform" method="post" action="logininfo.jsp" > <p>用户名;:<input type="text" name="username"></p> <p>密码:<input type="password" name="userpass"></p> <p><input type="submit" name="submit" value="登录" <input type="reset" name="reset" value="重写"> </form> //logininfo.jsp </body> <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> </html> <html> <body> <h3 align="center">获得的登录信息</h3> 你的名字是: <%=request.getParameter("username") %><br> 你的密码是:<%=request.getParameter("userpass") %> </body> JavaWeb应用开发课程组 软件学院 </html>
软件学院
JavaWeb应用开发课程组
2
相关知识– request对象常用方法
•
在同一请求的两个页面内可以通过下列方法传递数据: • Object getAttribute(String name) • void setAttribute(String name, Object attr) 使用setAttribute()设置属性后重定向到新页面,然后在另 一页面中用getAttribute(String name)获取属性值
2
相关知识– request对象-空对象处理
• 使用request对象获取信息时候要小心,可能获取到的 是空对象,则使用对象时会抛出NullPointerException空 ontent=request.getParameter(“girl”); if (textContent==null) //判断是否为空对象 { textContent=“ ”; }else{ //进行相应的处理 }
输入的登录信息需要在另一页面中获取并进行处理,该如
何获取用户的输入信息?若用户输入的是中文信息,该如 何处理?
本任务主要介绍JSP的内置对象相关概念,常用的out、 request、response等内置对象。
软件学院 JavaWeb应用开发课程组
2
相关知识—JSP的9大内置对象
内置对象:不要声明和创建,就可以直接使用的对象。
软件学院
JavaWeb应用开发课程组
2
相关知识– out对象常用方法
• void print() //输出数据,不换行
• • • • •
void newLine() //输出一个换行符 void flush() //输出缓冲区里的内容 void close() //关闭输出流 void clear() //清除缓冲区里的内容 int getBufferSize() //获得缓冲区的大小
软件学院 JavaWeb应用开发课程组
2
相关知识– request对象-乱码处理
• request获取客户端提交的汉字字符时,由于各个部分 编码格式不统一,可能会出现乱码。 • 处理方法一(post方式提交):
request.setCharacterEncoding(“GBK”);//设置获取客户请求信息的 编码方式
软件学院
JavaWeb应用开发课程组
2
相关知识– request对象
• request 对象封装了客户端的请求信息,可以用来获取 客户端的请求信息 • 在一次请求内有效,作用范围为request • 经常用于获取表单的数据,常用的表单有:单行文本 框、多行文本框、下拉菜单、单选按钮、复选框等
(1) (2) (3) 软件学院 建立HTML表单 使用GET或POST方式提交 用户输入的数据存放在request对象里,通过
软件学院 JavaWeb课程组
软件学院
JavaWeb应用开发课程组
软件学院
JavaWeb应用开发课程组
1
2
任务3-2 用户登录、注册信息获取、显示
3 4
软件学院
JavaWeb应用开发课程组
知识目标
了解JSP内置对象的概念; 掌握request对象的作用、常用方法; 掌握使用request对象获取参数; 掌握使用request对象共享一次请求范围 内的对象值; 掌握参数获取时乱码和数值类型处理的方 法; 掌握response对象的作用、常用方法和 使用注意;
软件学院
JavaWeb应用开发课程组
2
相关知识– 内置对象作用范围
• • • • page 在页面内有效 request 在请求范围内有效 session 在会话范围内有效 application 在应用范围内有效,即WEB服务器启动到停止
按照作用范围和持续时间的不同,分为
内置对象局部在 _jspservice()方法中, 只能在表达式或程序 片中使用,声明中不 能使用。
软件学院 JavaWeb应用开发课程组
2
相关知识–request对象
学生模仿、总结
– 将用户登录的信息使用request对象进行获取,并在 页面中输出。 – 总结使用request时,空对象、汉字乱码的处理方法 。
软件学院
JavaWeb应用开发课程组
2
相关知识– request对象
课堂演示
//tree3.jsp <%@ page errorPage=“fmtError.jsp" contentType="text/html;charset=GB2312" %> <HTML> <BODY > <P>获取文本框提交的信息: <% String textContent=request.getParameter("boy"); //数据格式转换:如String->int、double类型等 if(textContent!=null){ Double d = new Double(textContent); // double d=Double.parseDouble(); double dd = d.doubleValue(); out.print(dd); } %> </BODY> </HTML> // fmtError.jsp <HTML<%@ page contentType="text/html;charset=GB2312" %>> <BODY> 数据格式异常! </BODY> </HTML>
•
软件学院
JavaWeb应用开发课程组
2
相关知识– request对象常用方法
<%@ page contentType="text/html;charset= UTF-8 " %> 课堂演示 <body> 请求有效 - 使用请求request.setAttribute() <% request.setAttribute("姓名","陈龙"); request.setAttribute("角色","志愿者"); <%@ page contentType="text/html;charset=UTF-8" %> %> <jsp:forward page="requestScopeGet.jsp"/> <body> <h3>请求有效 - 使用请求request.getAttribute()</h3> </body> <em> </html> <% String Name = (String)request.getAttribute("姓名"); String role = (String)request.getAttribute("角色"); out.print(" 姓名 = "+Name); out.print(" 角色 = "+ role); %> </em> </body>