第5章JSP主要内置对象

上传人:pu****.1 文档编号:584471494 上传时间:2024-08-31 格式:PPT 页数:87 大小:1.41MB
返回 下载 相关 举报
第5章JSP主要内置对象_第1页
第1页 / 共87页
第5章JSP主要内置对象_第2页
第2页 / 共87页
第5章JSP主要内置对象_第3页
第3页 / 共87页
第5章JSP主要内置对象_第4页
第4页 / 共87页
第5章JSP主要内置对象_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《第5章JSP主要内置对象》由会员分享,可在线阅读,更多相关《第5章JSP主要内置对象(87页珍藏版)》请在金锄头文库上搜索。

1、第第5章章JSP主要内置对象主要内置对象 教学目标教学目标教学重点教学重点教学过程教学过程1教学目标教学目标了解和掌握了解和掌握Request对象方法对象方法了解和掌握了解和掌握Response对象方法对象方法了解和掌握了解和掌握Session对象方法对象方法2教学重点教学重点Request对象方法对象方法Response对象方法对象方法Session对象方法对象方法3教学过程教学过程Request对象方法对象方法Response对象方法对象方法Session对象方法对象方法4JSP有以下九种内置对象有以下九种内置对象request,请求对象请求对象response,响应对象响应对象pageC

2、ontext,页面上下文对象页面上下文对象session,会话对象会话对象application,应用程序对象应用程序对象out,输出对象输出对象config,配置对象配置对象page,页面对象页面对象exception,例外对象例外对象56request和和response“request”对象代表的是来自客户端的请求,对象代表的是来自客户端的请求,例如我们在例如我们在FORM表单中填写的信息等,是最表单中填写的信息等,是最常用的对象。关于它的方法使用较多的是常用的对象。关于它的方法使用较多的是getParameter、getParameterNames和和getParameterValue

3、s,通过调用这几个方法通过调用这几个方法来获取请求对象中所包含的参数的值来获取请求对象中所包含的参数的值“response”对对象象代代表表的的是是对对客客户户端端的的响响应应,也也就就是是说说可可以以通通过过“response”对对象象来来组组织织发发送送到到客客户户端端的的数数据据。但但是是由由于于组组织织方方式式比比较较底底层层,所所以以不不建建议议普普通通读读者者使使用用,需需要要向向客客户户端端发送文字时直接使用发送文字时直接使用“out”对象即可。对象即可。75.1Request对象方法对象方法Request内置对象代表了客户端的请求内置对象代表了客户端的请求信息,主要用于接受客户

4、端通过信息,主要用于接受客户端通过HTTP协协议传送给服务器端的数据。在客户端的议传送给服务器端的数据。在客户端的请求中如果有参数,则该对象就有一个请求中如果有参数,则该对象就有一个参数列表。它通常是参数列表。它通常是HttpServlet-Request的子类,其作用域就是一次的子类,其作用域就是一次Request请求。请求。Request对象包括很多对象包括很多方法,主要有:方法,主要有:85.1Request对象方法对象方法ngetCookies():返回客户端的:返回客户端的cookie对象,对象,结果是一个结果是一个cookie数组。数组。ngetSession(booleancre

5、ate):返回和当:返回和当前客户端请求相关联的前客户端请求相关联的HttpSession对象,对象,如果当前客户端请求没有和任何如果当前客户端请求没有和任何HttpSession对象关联,那么当对象关联,那么当create变量变量为为true,则创建一个,则创建一个HttpSession对象并返对象并返回;反之,返回回;反之,返回null。ngetHeader(Stringname):获得:获得http协协议定义的传送文件头信息议定义的传送文件头信息。9getAttribute(Stringname):返回返回name指定的属指定的属性值,若不存在指定的属性,就返回性值,若不存在指定的属性,

6、就返回null。getattributeNames():返回返回request对象所有属性对象所有属性的名字,结果集是一个的名字,结果集是一个Enumeration(枚举)类的实枚举)类的实例。例。getHeaderNames():返回所有返回所有requestheader的的名字,结果集是一个名字,结果集是一个Enumeration(枚举)类的实例。枚举)类的实例。getHeaders(Stringname):返回指定名字的返回指定名字的requestheader的所有值,结果集是一个的所有值,结果集是一个Enumeration(枚举)类的实例。枚举)类的实例。getMethod():返回客

7、户端向服务器端传送数据的方返回客户端向服务器端传送数据的方法,一般方法有法,一般方法有GET、POST、PUT等类型。等类型。getParameter(Stringname):以字符串的形式返以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数名没有实际参数与指定。当传递给此方法的参数名没有实际参数与之对应时,返回之对应时,返回null。10getparameterNames():返回客户端传送给服务器返回客户端传送给服务器端的所有的参数名,结果集是一个端的所有的参数名,结果集是一个Enumeration(枚

8、枚举)类的实例。当传递给此方法的参数名没有实际参举)类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回数与之对应时,返回null。getParameterValues(Stringname):以字符串数以字符串数组的形式返回指定参数所有值。组的形式返回指定参数所有值。getQueryString():返回查询字符串,该字符串由客返回查询字符串,该字符串由客户端以户端以GET方法向服务器端传送。方法向服务器端传送。getRequestURI():获得发出请求字符串的客户端地获得发出请求字符串的客户端地址。址。getServletPath():获得客户端所请求的脚本文件的获得客户端所请求

9、的脚本文件的文件路径。文件路径。setAttribute(Stringname,Java.lang.Objecto):设定名字为设定名字为name的的request参数值,该值由参数值,该值由Object类型的类型的o指定。指定。getServerName():获得服务器的名字,如果没有设获得服务器的名字,如果没有设定服务器名,则返回服务器定服务器名,则返回服务器IP地址。地址。11getServerPort():获得服务器的端口号。获得服务器的端口号。getRemoteAddr():获得客户端的获得客户端的IP地址。地址。getRemoteHost():获得客户端主机的名字,若失败,获得客户

10、端主机的名字,若失败,则返回客户端电脑的则返回客户端电脑的IP地址。地址。getProtocol():获取客户端向服务器端传送数据所依获取客户端向服务器端传送数据所依据的协议名称,如据的协议名称,如http/1.1。getContentLength():以字节为单位返回客户端请以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回求的大小。如果无法得到该请求的大小,则返回-1。getContentType():获取客户端请求的获取客户端请求的MIME类型。类型。如果无法得到该请求的如果无法得到该请求的MIME类型,那么返回类型,那么返回-1。getInputStream():以二进

11、制的形式将客户端的请以二进制的形式将客户端的请求以一个求以一个ServletInputStream的形式返回。使用此的形式返回。使用此方法可以获得客户端的方法可以获得客户端的multipart/form-data数据,数据,可以实现文件上传。可以实现文件上传。12isSecure():如果客户机是通过一个安全的访问方式如果客户机是通过一个安全的访问方式访问的,就返回访问的,就返回true;反之,返回反之,返回false.getDateHeader():返回一个返回一个long类型的数据,表示类型的数据,表示客户端发送到服务器的头信息中的时间信息。客户端发送到服务器的头信息中的时间信息。getI

12、nitHeader():获取客户端发送到服务器端的头获取客户端发送到服务器端的头信息中的某一个特定的信息,并转换为信息中的某一个特定的信息,并转换为int类型。类型。getContextPath():返回环境路径。对于返回环境路径。对于JSP来说,来说,一般是当前一般是当前Web应用程序的根目录。应用程序的根目录。isRequestedSessionIdValid():返回一个指示客户返回一个指示客户端请求发送端请求发送SessionID是否仍然有效的布尔值。是否仍然有效的布尔值。isRequestedSessionIdFromCookie():返回一个返回一个指示客户端请求发送指示客户端请求

13、发送SessionID是否存在于是否存在于Cookie中中的布尔值。的布尔值。isRequestedSessionIdFromURL():返回一个指示返回一个指示客户端请求发送客户端请求发送SessionID是否存在于是否存在于URL中的布尔中的布尔值。值。13request对象示例对象示例 姓名姓名 14request对象示例:对象示例:Hello_req.jsp 你好你好, , 今天是今天是 号,星期号,星期 输入:独孤求败15request对象示例(输出结果)对象示例(输出结果) 你好你好,独孤求败独孤求败, 今天是今天是 9号,星期号,星期1 16常用常用request请求对象请求对象

14、1getAttribute原型:原型:publicjava.lang.ObjectgetAttribute(java.lang.Stringname)说明:以对象的形式返回特定名称的属说明:以对象的形式返回特定名称的属性值。这个方法允许性值。这个方法允许Servlet引擎给出一引擎给出一个客户请求的特定信息。个客户请求的特定信息。(Servlet为为服务器端小程序,所有服务器端小程序,所有JSP页面都事先翻页面都事先翻译成译成Servlet后才执行)后才执行)17request请求对象请求对象如果所给名称的属性不存在将返回空值。如果所给名称的属性不存在将返回空值。属属性性名名应应该该遵遵循循和

15、和包包命命名名方方式式同同样样的的约约定定 , 不不 要要 采采 用用 如如 “java.*”、 “javax.*”及及“sun.*”.这样的命名。这样的命名。参数:参数:name一个标示属性名的字符串一个标示属性名的字符串返回值:一个包含属性值的对象,当属返回值:一个包含属性值的对象,当属性不存在是为空。性不存在是为空。18request对象使用示例对象使用示例requestform method=POST action=form method=POST action=form method=POST action=用户登录用户登录用户名:用户名:密码:密码:19浏览器类型浏览器类型:IEN

16、etscape资料选项:资料选项:标题标题详细详细20Post.jsp代码代码test%out.println(用户名:用户名:+request.getParameter(User)+);out.println(密码:密码:+request.getParameter(pwd)+);out.println(浏览器:浏览器:+request.getParameter(radio)+);out.println(标题:标题:+request.getParameter(check1)+);out.println(详细:详细:+request.getParameter(check2)+);out.prin

17、tln(隐含:隐含:+request.getParameter(hidden)+);out.println(getContentLength()=+request.getContentLength()+);21out.println(getContentType()=+request.getContentType()+);out.println(getRequestURI()=+request.getRequestURI()+);out.println(getServerPort()=+request.getServerPort()+);out.println(getServerName()=

18、+request.getServerName()+);out.println(getProtocol()=+request.getProtocol()+);out.println(getRemoteAddr()=+request.getRemoteAddr()+);out.println(getHeaderNames()=+request.getHeaderNames()+);out.println(getMethod()=+request.getMethod()+);out.println(getServletPath()=+request.getServletPath()+);out.pr

19、intln(isRequestedSessionIdValid()=+request.isRequestedSessionIdValid()+);%22运行结果运行结果23245.2Response对象方法对象方法Response对象实现对象实现HttpServletResponse接口,可对客户的请求做出动态的响应,向客接口,可对客户的请求做出动态的响应,向客户端发送数据,如户端发送数据,如Cookie、HTTP文件头信息文件头信息等,一般是等,一般是HttpServlet.Response类或其子类或其子类的一个对象。该对象的常用方法为:类的一个对象。该对象的常用方法为:naddCooki

20、e(Cookiecookie):添加一个添加一个Cookie对象,用来保存客户端的用户信息,对象,用来保存客户端的用户信息,用用request的的getCookies()方法可以获得这个方法可以获得这个Cookie。naddHeader(Stringname,Stringvalue):添加添加HTTP文件头,该文件头,该header将会传到客户端去,如果将会传到客户端去,如果有同名的有同名的header存在,那么原来的存在,那么原来的header将会被将会被覆盖掉。覆盖掉。255.2Response对象方法对象方法ncontainsHeader(Stringname):判断指:判断指定名字的定

21、名字的HTTP文件头是否存在,并返回布文件头是否存在,并返回布尔值。尔值。n从从sendError(intsc):向客户端发送错误:向客户端发送错误信息,例如,信息,例如,505指示服务器内部错误;指示服务器内部错误;404指示网页找不到的错误。指示网页找不到的错误。nsetHeader(Stringname,Stringvalue):设定指定名字的:设定指定名字的HTTP文件头的值,如果文件头的值,如果该值存在,那么它会被新的值覆盖。该值存在,那么它会被新的值覆盖。26setContenType(Stringtype):响应设置内响应设置内容类型头。容类型头。sendRedirect(URL

22、):可以将用户重定向到一可以将用户重定向到一个不同的页面(个不同的页面(URL)。)。sendRedirect(URL)方法通过返回特定的状态方法通过返回特定的状态代码而起作用,当它被调用时,返回一个状态代码而起作用,当它被调用时,返回一个状态代码,然后在响应中定位,给新页面一个新地代码,然后在响应中定位,给新页面一个新地址。状态代码和定位头会自动把浏览器重定位址。状态代码和定位头会自动把浏览器重定位到新页面。不过,用户通常不能被顺利重定位到新页面。不过,用户通常不能被顺利重定位到新的页而,特别是老一些的浏览器,而且一到新的页而,特别是老一些的浏览器,而且一些新版本的浏览器在自动响应定向作用状

23、态代些新版本的浏览器在自动响应定向作用状态代码时会有些问题,当浏览器无法自动响应状态码时会有些问题,当浏览器无法自动响应状态代码时,会收到一些字段信息。代码时,会收到一些字段信息。275.3Session对象方法对象方法Session是一种服务器个别处理与记录用户端是一种服务器个别处理与记录用户端上网使用者信息的技术。当使用者与服务器联上网使用者信息的技术。当使用者与服务器联机时,服务器可以给每一个上网的使用者一个机时,服务器可以给每一个上网的使用者一个Session并设定其中的内容,这些并设定其中的内容,这些Session都都是个别独立的,服务器端可以借此来辨别使用是个别独立的,服务器端可以

24、借此来辨别使用者信息进而提供个别的服务。者信息进而提供个别的服务。Session对象的对象的常用方法为:常用方法为:ngetAttribute(Stringname):获得指定名字的属获得指定名字的属性,如果该属性不存在,将会返回性,如果该属性不存在,将会返回null。ngetAttributeNames():返回返回Session对象中存储对象中存储的每个属性对象,结果集是一个的每个属性对象,结果集是一个Enumeration类的类的实例。实例。28session对象对象 当客户端用户向服务器提出请求打开网页后,若该当客户端用户向服务器提出请求打开网页后,若该网页中包含了为用户建立网页中包含

25、了为用户建立session的程序代码,则便会产的程序代码,则便会产生生session 对象。对象。 295.3Session对象方法对象方法nsetAttribute(Stringname,java.lang.Objectvalue):设定指定名字的属性值,并且把它存储在:设定指定名字的属性值,并且把它存储在Session对象中。对象中。nisNew():判断目前:判断目前Session是否为新的是否为新的Session,若是则返回若是则返回ture,否则返回,否则返回false。ngetId():返回:返回Session对象在服务器端的编号。每对象在服务器端的编号。每生成一个生成一个Sess

26、ion对象,服务器都会给它一个编号,对象,服务器都会给它一个编号,并且该编号不会重复,这样服务器才能根据编号来并且该编号不会重复,这样服务器才能根据编号来识别识别Session,并且正确的处理某一特定的,并且正确的处理某一特定的Session及其提供的服务。及其提供的服务。30getCreationTime():返回返回Session对象被创建的时对象被创建的时间,单位为毫秒。间,单位为毫秒。getLastAccessedTime():返回当前返回当前Session对象最对象最后一次被操作的时间,时间的单位为毫秒。后一次被操作的时间,时间的单位为毫秒。getMaxInactiveInterva

27、l():获取获取Session对象的生对象的生存时间,时间的单位为秒。存时间,时间的单位为秒。setMaxInactiveInterval(intinterval):设置设置Session的有效时间(也叫超时时间),时间的单位的有效时间(也叫超时时间),时间的单位为秒。为秒。removeAttribute(Stringname)“删除指定的属性删除指定的属性(包含属性名、属性值)。如果在有效时间内,用户(包含属性名、属性值)。如果在有效时间内,用户做出了新的请求,那么服务器就会将其看作一个新的做出了新的请求,那么服务器就会将其看作一个新的用户,此时,服务器将创建一个新的用户,此时,服务器将创建

28、一个新的Session,旧的旧的Session信息将会丢失。信息将会丢失。31Session对象对象期限期限session和和application相同,有其存在的期限。相同,有其存在的期限。当发生以下四种情形其中之一时,当发生以下四种情形其中之一时,session对象中的数对象中的数据便会清空据便会清空:用户关闭目前正在使用的浏览器程序。用户关闭目前正在使用的浏览器程序。关闭网页服务器。关闭网页服务器。用户未向服务器提出请求超过预设的时间,用户未向服务器提出请求超过预设的时间,Tomcat服务器预设为服务器预设为30分钟。分钟。运行程序结束运行程序结束session。32存取存取sessio

29、n数据数据建立建立建立建立sessionsession变量变量变量变量session.setAttribute(“变量名称变量名称”,变量变量內容內容)在在在在sessionsession中中中中设定变量数据设定变量数据设定变量数据设定变量数据:33存取存取session数据数据返回返回session中的中的变量变量session.getAttribute(“变量名称变量名称”)返回返回所有所有session中的中的变量名称变量名称session.getAttributeNames()移除移除session中的中的变量变量session.removeAttribute(“变量名称变量名称”)移

30、除移除sessionsession.invalidate()34session对象示例对象示例session请输入您的姓名:请输入您的姓名:35post1.jsppost.jsp您的姓名是:您的姓名是:您最喜欢的娱乐是:您最喜欢的娱乐是:36post11.jsppost1.jsp您的姓名是:您的姓名是:您喜欢的娱乐是:您喜欢的娱乐是:37运行结果运行结果38提交后提交后39输入值输入值40再次提交(保存名字)再次提交(保存名字)41Application对象对象Application是一是一个个所有所有在线用户共享的数据存取在线用户共享的数据存取区,区,application中的变量数据在程序

31、设定其值时被初始中的变量数据在程序设定其值时被初始化,而当关闭网页服务器,或者超过预设时间而未有任何化,而当关闭网页服务器,或者超过预设时间而未有任何用户联机时自动消失用户联机时自动消失。42存取存取application中的中的数据数据建立建立application变量变量:application.setAttribute(“变量名称变量名称”,变量变量內容內容)返回返回application中的中的变量变量application.getAttribute(“变量名称变量名称”)移除移除application变量变量application.removeAttribute(“变量名称变量名称”

32、)返回返回所有所有application变量变量application.getAttributeNames()43application-获取服务器与网页信息获取服务器与网页信息方方 法法说说 明明getMajorVersion()返回服务器解释引擎所支持最新的返回服务器解释引擎所支持最新的Servlet API版本。版本。 getMinorVersion()返回服务器解释解译引擎所支持最低的返回服务器解释解译引擎所支持最低的Servlet API版本。版本。 getMimeType(String file)返回文件返回文件file的文件格式与编码方式。的文件格式与编码方式。 getRealP

33、ath(String path)返回虚拟路径返回虚拟路径path的真实路径。的真实路径。 getServerInfo()返回服务器解释引擎的信息。返回服务器解释引擎的信息。 44application对象运行示例对象运行示例application%out.println(JavaServletAPIVersion+application.getMajorVersion()+.+application.getMinorVersion()+);out.println(peixun2.13.jspsMIMEtypeis:+application.getMimeType(peixun2.13.jsp)

34、+);out.println(URLofpeixun2.13.jspis:+application.getResource(“/peixun2.13.jsp)+);out.println(getServerInfo()=+application.getServerInfo()+);out.println(application.getRealPath();application.log(AddaRecordtolog_file);%45运行结果运行结果46application对象实现网页计数器对象实现网页计数器网页计数器网页计数器您是第您是第位访问者!位访问者!47运行结果运行结果(第一次访

35、问第一次访问)48刷新一次刷新一次49exception对象示例对象示例ErrorpageloginAnerroroccuredinthebean.ErrorMessageis:50内置对象小结内置对象小结全全面面介介绍绍了了JSP的的几几种种内内置置对对象象。熟熟练练使使用用这这些些内内置置对对象象是是开开发发JSP应应用用程程序序的的基基本本要要求求,尤尤其其是是对对于于request、session和和application对象更是必须要掌握的。对象更是必须要掌握的。会会使使用用对对象象所所具具有有的的方方法法,能能熟熟练练使使用用每一种对象的几种常用方法。每一种对象的几种常用方法。51

36、综合例子综合例子表单表单用户注册用户注册用户名:用户名:密码:密码:你喜欢:你喜欢:足球足球篮球篮球52综合例子综合例子    性别:性别:男男女女你的计算机你的计算机CPUPIV1500Memory512M你计算机的操作系统你计算机的操作系统53综合例子综合例子    你所在地:你所在地:北京北京天津天津上海上海重庆重庆54运行结果运行结果55表单的确认表单的确认客户端确认客户端确认n减少服务器负载减少服务器负载n缩短用户等待时间缩短用户等待时间n兼容性难兼容性难服务器端确认服务器端确认n统一确认统一确认n兼容性

37、强兼容性强n服务器负载重服务器负载重56客户端确认客户端确认采用采用javascript进行确认进行确认常用函数常用函数nisBetweennisDatenisTimenisDigitnisEmailnisEmptynisIntnisReal57客户端确认例子客户端确认例子客户端确认客户端确认用户登录用户登录用户名:用户名:密码:密码:58客户端确认例子客户端确认例子functioncheckform(frm)varflag=true;if(frm.name.value=)alert(姓名不能为空,请输入值!姓名不能为空,请输入值!);frm.name.focus();flag=false;r

38、eturnflag;59运行结果运行结果60JSP与客户机的交互与客户机的交互从表单中获得参数从表单中获得参数返回参数返回参数表单的服务器端确认表单的服务器端确认61从表单中获得参数从表单中获得参数JSP通过通过request内置对象获取表单信息内置对象获取表单信息用不同的方法获取不同种类的信息用不同的方法获取不同种类的信息获取参数的主要方法:获取参数的主要方法:n ngetParametergetParameter()()获取参数的值获取参数的值获取参数的值获取参数的值n ngetParameterNamesgetParameterNames()()获取参数的名称获取参数的名称获取参数的名称

39、获取参数的名称n ngetParameterValuesgetParameterValues()()获取多个值获取多个值获取多个值获取多个值62getParameter()可以获得文本框、文本区域、单选、多可以获得文本框、文本区域、单选、多选的值选的值表单中各元素的表单中各元素的NAME属性是它的唯一属性是它的唯一标识,用它获取参数。标识,用它获取参数。参考参考peixun2.11.jsp及及post.jsorequest.getParameter(User);63向客户端输出向客户端输出使用内置对象使用内置对象outout.println(content)使用使用“=”参看参看peixun2

40、.11.jsp和和post.jspout.println(用户名:用户名:+User+);参看参看peixun2.14.jsp您是第您是第位访问者!位访问者!64表单的服务器端确认表单的服务器端确认在客户端不能用在客户端不能用JSP进行确认进行确认分工:数据处理在服务器端分工:数据处理在服务器端实效性:客户端得到服务器确认后表明实效性:客户端得到服务器确认后表明数据已经到达服务器数据已经到达服务器客户端兼容性好客户端兼容性好缺点:加大服务器负载和用户等待时间缺点:加大服务器负载和用户等待时间65服务器端确认方法服务器端确认方法采用采用Java类对表单数据进行复杂的检查类对表单数据进行复杂的检查

41、采用采用JSP进行确认进行确认66服务器端确认的例子服务器端确认的例子服务器端确认服务器端确认用户登录用户登录用户名:用户名:密码:密码:67loginAction.jsp确认确认JSP%Stringname=request.getParameter(name);Stringpwd=request.getParameter(pwd);if(name!=null)&(!name.equals()name=newString(name.getBytes(ISO8859_1),gb2312);out.println(用户名:用户名:+name+);out.println(密码:密码:+pwd+);e

42、lse%68loginAction.jsp用户名不能为空用户名不能为空用户登录用户登录用户名:用户名:inputtype=textname=namesize=20value=密码:密码:inputtype=passwordname=pwdsize=20value=69运行结果(运行结果(TOMCAT)70(未输入姓名未输入姓名)直接提交直接提交71输入用户名输入用户名72输入用户名后提交输入用户名后提交73JSP的汉字问题的原理的汉字问题的原理客户端和服务器用客户端和服务器用gb2312HTTP传输编码用传输编码用ISO8859_1服务器需要指示客户端文档的编码方式服务器需要指示客户端文档的编

43、码方式ISO8859_1ISO8859_1gb2312gb231274JSP的汉字问题出现环节的汉字问题出现环节客户端显示文档时的编码方式(由服务器客户端显示文档时的编码方式(由服务器中的中的JSP、Servlet指明)指明)客户端发送汉字时自动转换为客户端发送汉字时自动转换为iso8859_1服务器中采用服务器中采用gb2312对汉字编码,接收对汉字编码,接收到客户端汉字需要转换为到客户端汉字需要转换为gb2312服务器端将服务器端将JSP转换为转换为Servlet时自动将时自动将汉字转换为汉字转换为iso8859_1服务器端应该告诉客户端汉字的编码方式服务器端应该告诉客户端汉字的编码方式7

44、5JSP汉字问题的范围汉字问题的范围JSP文件的汉字问题文件的汉字问题表单处理的汉字问题表单处理的汉字问题Servlet的汉字问题(以后讲解)的汉字问题(以后讲解)JDBC的汉字问题(以后讲解)的汉字问题(以后讲解)76JSP文件的汉字问题文件的汉字问题JSP中的汉字字符串在服务器端用中的汉字字符串在服务器端用gb2312在编译为在编译为Servlet时自动转换为时自动转换为iso8859_1汉字在传输中是正确的汉字在传输中是正确的在没有特别指示下,浏览器中无法正确显示在没有特别指示下,浏览器中无法正确显示在在HTML中指示浏览器文档的编码(中指示浏览器文档的编码(myJSPindex.htm

45、l)n在在JSP中指示中指示JSP引擎文档的编码引擎文档的编码n每个要显示汉字的每个要显示汉字的JSP文档都应该包含该语句文档都应该包含该语句77JSP文件的汉字问题文件的汉字问题(JSPhanzi.jspJSPhanzi.jsp)JSP中的汉字问题中的汉字问题 JSP中的汉字问题中的汉字问题 你好你好78JSP中增加编码指示后中增加编码指示后JSP中的汉字问题中的汉字问题 JSP中的汉字问题 你好79表单处理中的汉字问题表单处理中的汉字问题表单处理涉及到客户端和服务器的完整表单处理涉及到客户端和服务器的完整交互过程交互过程在客户端和服务器是在客户端和服务器是gb2312,传输用传输用ISO8

46、859_1在服务器端接收到客户端数据时需要转在服务器端接收到客户端数据时需要转换为换为gb2312后进行处理,方法后进行处理,方法name=newString(name.getBytes(ISO8859_1),gb2312);服务器端指示客户端汉字的显示编码服务器端指示客户端汉字的显示编码80表单处理的汉字问题表单处理的汉字问题表单处理的汉字问题表单处理的汉字问题用户登录用户登录用户名:用户名:表单处理的汉字问题表单处理的汉字问题 用户登录用户登录 用户名:用户名: 81处理过程(修改前)处理过程(修改前)表单中汉字的处理表单中汉字的处理%Stringname=request.getParam

47、eter(name);/name=newString(name.getBytes(ISO8859_1),gb2312);out.println(用户名:用户名:+name+);%表单中汉字的处理表单中汉字的处理 用户名:用户名:?82处理过程(修改后处理过程(修改后)表单中汉字的处理表单中汉字的处理%Stringname=request.getParameter(name);name=newString(name.getBytes(ISO8859_1),gb2312);out.println(用户名:用户名:+name+);%表单中汉字的处理表单中汉字的处理 用户名:测试用户名:测试83上机:

48、练习JSP编程分析分析softshop的首页及用户认证的首页及用户认证编写综合练习的首页、认证和注册页面编写综合练习的首页、认证和注册页面注意汉字问题注意汉字问题84综合练习 综合练习:我的网上商店综合练习:我的网上商店myshop,具有以下功能具有以下功能n用户登录、注册用户登录、注册n口令空转向口令空转向loginError.jsp(采用采用)n建立建立web应用应用myshop,参考参考softshop目录结构目录结构n体会表单的两种发送方法体会表单的两种发送方法页面设计:页面设计:n完成首页、用户登录、注册(完成首页、用户登录、注册(index.jsp、login.jsp、regist

49、or.jsp)n首首页页index.jsp包包括括简简介介、商商品品分分类类、新新注注册册用用户户、登登录录用用户户计计数数,按钮:用户登录、注册按钮:用户登录、注册n用户计数采用用户计数采用application对象对象nlogin.jsp包包括括输输入入用用户户名名、口口令令的的表表单单,用用户户名名是是否否为为空空由由服服务务器器端端确确认认,口口令令是是否否为为空空由由客客户户端端确确认认,处处理理表表单单的的jsp为为check.jsp,当当口口令令为为空空时时转转向向显显示示错错误误页页面面,登登录录成成功功时时显显示示用用户户名名和和口口令令(表单采用表单采用GET方法发送)方法

50、发送)85综合练习nregistor.jsp中录入用户信息,综合使用表单的功能:中录入用户信息,综合使用表单的功能:form标记标记(表单采用表单采用POST方法发送)方法发送)text:用户名、口令用户名、口令radio按钮:性别按钮:性别select:出生年月、所在地、行业出生年月、所在地、行业其中会使用到其中会使用到option标记标记checkbox:选择兴趣选择兴趣textarea:自我介绍自我介绍按钮:提交和重新输入按钮:提交和重新输入n处处理理registor.jsp的的jsp为为record.jsp, record.jsp接接收收text、textarea、radio、select的数据,并显示出来(注意汉字问题)。的数据,并显示出来(注意汉字问题)。nrecord.jsp中用中用session存储新注册的用户名。存储新注册的用户名。nrecord.jsp包含返回首页包含返回首页index.jsp的超链接的超链接nindex.jsp中用中用session提取新注册用户并显示提取新注册用户并显示86谢谢87

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号