资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第一讲,JSP,语法,概述,基本语法,1,JSP的概念,J,ava,S,erver,P,age,HTML,语法的,java,扩展,加入新的标签(,);,强大的组件(,Java Bean),支持功能;,2,JSP文件结构及主要标签,.,其他,HTML,语言,其他,HTML,语言,3,JSP示例(Hello.jsp),%,for(int i=0;i,你好,你好,你好,4,JSP,语法,JSP,语法分为三种不同的类型,编译器指令,(,DIRECTIVE),脚本语法,(,SCRIPTING),动作语法,(,ACTION),“,HTML,注释”:,“隐藏注释”:,“声明”:,“表达式”:,“脚本段”:,,,5,表达式(shengming.jsp),test,a=,b=,c=,6,test,转义符:双引号,“,,单引号,反斜杠,回车,r,,换行,n,,制表符,t,,退格,b,7,包含指令,include,指令:向当前页中插入一个,静态文件,的内容。,JSP,语法格式如下:,8,包含指令(,baohan.jsp),test,The current date and time are,a.jsp”,9,Page,指令,“,Page,”,指令用于定义,JSP,文件中的,全局属性,。,JSP,语法格式如下:,10,Page,指令,属性:,1.language=java,声明脚本语言的种类,目前只能用java。,2.import=package.class|package.*,.,需要导入的Java包的列表,这些包作用于程序段,表达式,以及声明。,下面的包在JSP编译时已经导入了,所以就不需要再指明了:,java.lang.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.*,11,3,errorPage=relativeURL,设置处理异常事件的,JSP,文件。,4,isErrorPage=true|false,设置此页是否为异常处理页面,,如果被设置为,true,你就能使用,exception,对象,12,page指令详说,“”,指令作用于整个,JSP,页面,,同样包括静态的包含文件。但是“”,指令不能作用于动态的包含文件,比如“,”。,可以在一个页面中用上多个“”,指令,,,但是其中的属性只能用一次,不过也有例外,那就是,import,属性。,因为,import,属性和,Java,中的,import,语句类似(参照,Java Language,import,语句引入得是,Java,语言中的类),所以此属性就能多用几次。,无论把“”,指令放在,JSP,的文件的哪个地方,它的作用范围都是整个,JSP,页面。,不过,为了,JSP,程序的可读性,以及好的编程习惯,最好还是把它放在,JSP,文件的顶部。,13,page,指令(,yemian.jsp),test3,Test for using Page.,14,JSP,语法格式如下:,1,./,2.,page=relativeURL|,这里是一个表达式或是一个字符串用于说明你,将要定向的文件或,URL,。,这个文件可以是,JSP,程序段,或者其它能够处理,request,对象的文件,(如,asp,cgi,php)。,向一个动态文件发送一个或多个参数,,这个文件必须是动态文件。,“name”,指定参数名,“,value”,指定参数值,;,如果想传递多个参数,可以在一个,JSP,文件中使用多个“”,。,15,例(,forward.jsp),test,16,17,包含一个静态或动态文件.,JSP,语法格式如下:,1,.“flush=true/,2.flush=true,1,page=relativeURL|,参数为一相对路径,或者是代表相对路径的表达式。,2,flush=true,这里必须使用,flush=true,,不能使用,false,值。而缺省值为,false,。,3,“”,用来传递一个或多个参数到指定的动态文件,,能在一个页面中使用多个“,”,来传递多个参数。,18,例子(),include.jsp,19,20,使用“,”,插入一个,applet,或,Bean,,必要的话还要下载一个,Java,插件用于执行它。,21,+,text message for user ,JSP,语法格式如下:,22,属性,1,type=bean|applet,将被执行的插件对象的类型,你必须得指定这个是,Bean,还是,applet,因为这个属性没有缺省值。,2,code=class,将会被,Java,插件执行的,Java Class,的名字,必须以.,class,结尾。这个文件必须存在于,codebase,属性指定的目录中。,3,codebase=class,将会被执行的,Java Class,文件的目录(或者是路径),如果你没有提供此属性,那么使用,的,jsp,文件的目录将会被使用。,4,name=instanceName,这个,Bean,或,applet,实例的名字,它将会在,Jsp,其它的地方调用。,23,例子,Unable to load applet,24,创建一个,Bean,实例并指定它的名字和作用范围。,JSP,语法格式如下:,|,other elements,26,属性以及用法,1,id=beanInstanceName,在所定义的范围中确认,Bean,的变量,使之能在后面的程序中使用此变量名来分辨不同的,Bean,,这个变量名对大小写敏感,必须符合所使用的脚本语言的规定,这个规定在,Java Language,规范已经写明。如果,Bean,已经在别的“”,标记中创建,则当使用这个已经创建过,Bean,时,,id,的值必须与原来的那个,id,值一致;否则则意味着创建了同一个类的两个不同的对象。,27,2,scope=page|request|session|application,Bean,存在的范围以及,id,变量名的有效范围。缺省值是,page,,以下是详细说明:,page-,能在包含“”,元素的,JSP,文件以及此文件中的所有静态包含文件中使用这个,Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。,28,request-,在任何执行相同请求的,Jsp,文件中使用这个,Bean,,直到页面执行完毕向客户端发回响应或转到另一个文件为止。能够使用,Request,对象访问这个,Bean,比如,request.getAttribute(beanInstanceName)。,session-,从创建,Bean,开始,就能在任何使用相同,session,的,jsp,文件中使用这个,Bean。,这个,Bean,存在于整个,Session,生存周期内,任何在分享此,Session,的,Jsp,文件都能使用同一,Bean。,注意在创建这个,Bean,的,Jsp,文件中“”,指令中必须指定“,session=true”。,29,application-,从创建,Bean,开始,就能在任何使用相同,application,的,Jsp,文件中使用,Bean。,这个,Bean,存在于整个,application,生存周期内,任何在分享此,application,的,Jsp,文件都能使用同一,Bean.,30,3,class=package.class,使用,new,关键字以及,class,构造器从一个,class,中实例化一个,bean。,这个,class,不能是抽象的,必须有一个公用的,没有参数的构造器。这个,package,的名字区别大小写。,4,type=package.class,如果这个,Bean,已经在指定的范围中存在,那么赋予这个,Bean,一个的数据开库类型。如果使用,type,属性的同时没有使用,class,或,beanName,Bean,将不会被实例化。注意,package,和,class,的名称区分大小写。,31,5,beanName=package.class|type=package.class,使用方法来从一个,class,或串行化的模板中实例化一个,Bean,,同时指定,Bean,的类型。方法将检查此名称是否表示一个类或一个串行化模板。如果这个,Bean,是被串行化的,那么方法将通过使用一个类装载器读取串行化格式(类似,package.class.ser)。,32,beanName,可以是,package,和,class,,也可以是表达式,它的值会传给方法。,type,的值可以和,Bean,相同,也可以是它的基类,或者是它所实现的接口。,package,和,class,名字区分大小写。,33,JSP,语法格式如下:,属性:,1,name=beanInstanceName,bean,的名字,由,指定。,2,property=propertyName,所指定的,Bean,的属性名。,34,例子,/,声明引用的,bean,test,Calendar of,35,设置,Bean,的属性值.,JSP,语法格式如下:,36,属性,1,name=beanInstanceName,表示已经在“”,中创建的,Bean,实例的名字。,2,property=*,储存用户在,jsp,输入的所有值,用于匹配,Bean,中的属性。,37,3,property=propertyName param=parameterName,用一个参数值来指定,Bean,中的一个属性值,一般情况下是从,request,对象中获得的。其中,property,指定,Bean,的属性名,,param,指定,request,中的参数名。,38,4,property=propertyName value=string|,使用指定的值来设定,Bean,属性。这个值可以是字符串,也可以是表达式。如果这个字符串,那么它就会被转换成,Bean,属性的类型(转换方法见表4.1)。如果是一个表达式,那么它的类型就必须和将要设定的属性值的类型一致。,如果参数值为空值,那么对应的属性值也不会被设定。此外,不能在同一个“”,中同时使用,param,和,value,参数。,39,package rmg;,public class student,private long classNo;,private String name;,private int age;,private boolean sexy;,public student()/,构造函数,classNo=970431;,name=ZZZl;,age=34;,sexy=true;,例:/建立类,40,public long getClassNo(),return classNo;,public void setClassNo(long no),this.classNo=no;,public String getName(),return name;,public void setName(String name),this.name=name;,41,public int getAge(),return age;,public void setAge(int age),this.age=age;,public boolean getSexy(),return sexy;,public void setSexy(boolean sexy),this.sexy=sexy;,42,文件,理解,useBean,动作的,scope,作用范围-%,43,44,第一次运行结果,45,以后运行结果,第一行发生变化,46,测试session作用域,文件,理解,useBean,动作的,scope,作用范围-,47,48,运行结果,49,小结与习题,本局面集中介绍了,JSP,的各种语法,掌握这些语法使读者进行,JSP,开发的基本要求,于一般的网页开发不同,,JSP,对大小写是敏感的,这一点要注意,尤其是对曾使用过其他开发语言的读者。,与,Bean,相关的几种语法的使用将在“,Bean,的使用”一章中专门进行讲解,因此可对照学习。熟练使用这些语法是必须的,因此读者应该多加练习,观察不同用法所产生的效果上的差异。对于给出的例子最好是自己敲入文件并观察执行结果。,随后的几章将各有重点的讲述与语法相关的一些问题。,50,习题,1举例说明,HTML,注释与隐藏注释有何异同。,2试写一个,JSP,文件,包含所有,JSP,语法元素,3,Scriptlet,中应遵循什么样的语法规则?,4,元素包含静态文件与包含动态文件处理上有何不同?,5,起到什么样的作用?使用时有哪些注意事项?,6,page,指令能起到那些作用?有效范围有多大?,51,实践:练习,JSP,编程,1.,HelloWorld.jsp,最简单的,jsp,程序,2.,Scripting.jsp,程序片段,3.,Declaration.jsp,变量的声明,4.,Directive.jsp,和,Top.htm,和,Bottom.jsp Directives,语法,5.,Include.jsp,和,Date.jsp include,指令,6.,News.jsp,和,Item1.htm,和,Item2.htm,和,Item3.htm,和,Item4.htm ,的使用,7.,ForwardTest.jsp,和,morning.htm,和,的使用,52,3.3,JSP,内置对象,JSP,有以下九种内置对象,包括:,request,,请求对象,response,,响应对象,pageContext,,页面上下文对象,session,,会话对象,application,,应用程序对象,out,,输出对象,config,,配置对象,page,,页面对象,exception,,例外对象,53,重点介绍,request,,请求对象,session,,会话对象,application,,应用程序对象,54,综述,有几种对象看起来和,ASP,的内置对象差不多,功能也类似,这是因为这些内置对象的构建基础是标准化的,HTTP,协议。如果使用过,ASP,,又对,Java,有一定的了解的话,那么对这几种,JSP,内置对象的使用应该能迅速掌握。需要注意的问题是对象名的写法,包括这些对象方法的调用时也要书写正确,因为,Java,语言本身是大小写敏感的。,55,从本质上讲,,JSP,的这些内置对象其实都是由特定的,Java,类所产生的,在服务器运行时根据情况自动生成,所以如果你有较好的,Java,基础,可以参考相应的类说明,表3.1给出了他们的对应关系。更进一步的讲解将会在讲解,Servlet,的一章中展开,如果你的,Java,基础不太好,可以先熟悉在这一章里所介绍的各种方法的使用。,56,57,request和response,“,request”,对象代表的是来自客户端的请求,例如我们在,FORM,表单中填写的信息等,是最常用的对象。关于它的方法使用较多的是,getParameter、getParameterNames,和,getParameterValues,,通过调用这几个方法来获取请求对象中所包含的参数的值,“,response”,对象代表的是对客户端的响应,也就是说可以通过“,response”,对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用“,out”,对象即可。,58,request对象示例,姓名,59,你好,今天是,号,星期,60,request对象示例(输出结果),你好,独孤求败,今天是,9号,星期1,61,pageContext,“,pageContext”,对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性,常用的方法包括,findAttribute、getAttribute、getAttributesScope,和,getAttributeNamesInScope,,一般情况下“,pageContext”,对象用到得也不是很多,只有在项目所面临的情况比较复杂的情况下,才会利用到页面属性来辅助处理。,62,session,对象,“,session,”,对象代表服务器与客户端所建立的会话,当需要在不同的,JSP,页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“,session,”,对象建立在,cookie,的基础上,所以使用时应注意判断一下客户端是否打开了,cookie,。,常用的方法包括,getId,、,getValue,、,getValueNames,和,putValue,等。,63,session对象,概要,HTTP是无状态(stateless)协议;,Web Server 对每一个客户端请求都没有 记忆;,Session用来保存客户端状态信息;,由Web Server 写入;,存于客户端;,客户端的每次访问都把上次的session记录传递给Web Server;,Web Server读取客户端提交的session来获取客户端的状态信息;,64,session对象示例(Form表单Logon_session.html),姓名,65,你的名字,已经写入,session,check,66,session对象示例(Check_session.jsp),您还未登录,已经登录,67,function checkform(frm),用户登录,将会被Java插件执行的Java Class的名字,必须以.,println(Username is+username+);,type=package.,getResource(“/peixun2.,%=student.,);,实效性:客户端得到服务器确认后表明数据已经到达服务器,case 0:out.,action=hanziAction.,String yourName=(String)session.,getParameterNames()获取参数的名称,String username;,JSP中的汉字问题,例子(),application对象,“,application”,对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有,getMimeType,和,getRealPath,等。,68,out,“,out”,对象代表了向客户端发送数据的对象,与“,response”,对象不同,通过“,out”,对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“,out”,对象直接向客户端写一个由程序动态生成,HTML,文件。常用的方法除了,pirnt,和,println,之外,还包括,clear、clearBuffer、flush、getBufferSize,和,getRemaining,,这是因为“,out”,对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法。,69,config、page、exception,“,config”,对象提供一些配置信息,常用的方法有,getInitParameter,和,getInitParameterNames,,以获得,Servlet,初始化时的参数。,“,page”,对象代表了正在运行的由,JSP,文件产生的类对象,不建议一般读者使用。,“,exception”,对象则代表了,JSP,文件运行时所产生的例外对象,此对象不能在一般,JSP,文件中直接使用,而只能在使用了“”,的,JSP,文件中使用,70,request请求对象,1,getAttribute,原型:,public java.lang.Object getAttribute(java.lang.String name),说明:以对象的形式返回特定名称的属性值。这个方法允许,Servlet,引擎给出一个客户请求的特定信息。,(Servlet,为服务器端小程序,所有,JSP,页面都事先翻译成,Servlet,后才执行),71,request请求对象,如果所给名称的属性不存在将返回空值。,属性名应该遵循和包命名方式同样的约定,不要采用如“,java.*”、“javax.*”,及 “,sun.*”.,这样的命名。,参数:,name,一个标示属性名的字符串,返回值:一个包含属性值的对象,当属性不存在是为空。,72,request对象使用示例(),request,用户登录,用户名:,密码:,73,浏览器类型:IE,Netscape,资料选项:,标题,详细,74,test,76,运行结果,77,78,session,对象示例,session,请输入您的姓名:,79,post.jsp,您的姓名是:,您最喜欢的娱乐是:,80,post1.jsp,您的姓名是:,您喜欢的娱乐是:,81,运行结果,82,提交后,83,输入值,84,再次提交(保存名字),85,application,对象运行示例,application,86,运行结果,87,application,对象实现网页计数器,网页计数器,您是第,位访问者!,88,运行结果(第一次访问),89,刷新一次,90,exception,对象示例,Error page login,An error occured in the bean.Error Message is:,91,内置对象小结,全面介绍了,JSP,的几种内置对象。熟练使用这些内置对象是开发,JSP,应用程序的基本要求,尤其是对于,request,、,session,和,application,对象更是必须要掌握的。,会使用对象所具有的方法,能熟练使用每一种对象的几种常用方法。,92,3.4,HTML,表单,复习,Web,运行原理,HTML,表单的概念,表单元素介绍,HTML,表单的客户端确认,客户端表单确认实例,93,Web运行原理1,客户端同Web服务器之间的协议为,HTTP为超文本传输协议,HTPP协议为“请求和响应”协议,客户端请求包括:请求行、头、信息体,客户端请求的方法,GET、POST、HEAD,DELETE、TRACE、PUT,提交表单的方法:GET、POST,94,Web运行原理2,服务器接收到请求后,返回,HTTP,响应,每个响应:状态行、头、信息体,常见状态,404 所请求的文件不存在,500 服务器程序出错,200,OK,成功,信息体用于浏览器显示,95,页面访问失败,96,HTML表单,表单是具有输入域、文本域的页面,用于客户端同服务器端交互,用户在客户端填写表单,然后“提交”,表单中的信息发送到服务器,服务器返回处理情况,97,HTML表单标记,表单主标记,表单中的标记,是表单开始标记,,结束,98,表单的例子(peixun2.15.jsp),表单,用户登录,用户名:,密码:,99,运行结果,100,form标记,描述表单的特性,语法,method,表单传输方法,GET,方法将表单信息在,URL,后传输,POST,方法将表单信息作为信息体传输,action,为表单处理方式,通常为一个,URL,enctype,为编码方式,101,标记,表单中输入信息的区域,属性,type,类型,name,名称,id,标识,maxlength,最大字符数,size,输入域宽度,value,域的初始值,button,按钮 用,javascript,响应,102,的类型,text,文本,passwowrd,口令方式,checkbox,多选框,name,相同,radio,单选按钮,name,相同,image,图片,hidden,隐藏表单 发送数据,submit,提交按钮 向服务器提交表单,reset,复位按钮 将表单充置为初始状态,103,文本框:TEXTAREA,多行文本域:,参数,COLS:,宽度,ROWS:,高度,NAME:,名称,CPU PIV 1500,Memory 512M,104,下拉框:SELECT,定义列表框:,参数,MULTIPLE,可同时选取多行,NAME,名称,SIZE,可见项目数,每个项目用,option,标记,属性,SELECTED,出现在,option,表示选中,105,select的例子,北京,天津,上海,重庆,106,表单提交,提交方式:,submit,类型按钮提交表单,通过普通按钮的,javascript,函数,传输方法依据,中的,method,推荐使用,POST,传输编码依据,中的,enctype,处理方式依据,中的,action,107,表单清除,reset,按钮重置表单为初始值,108,综合例子,表单,用户注册,用户名:,密码:,你喜欢:,足球,篮球,109,&,nbsp;,性别:,男,女,你的计算机,CPU PIV 1500,Memory 512M,你计算机的操作系统,110,&,nbsp;,你所在地:,北京,天津,上海,重庆,111,运行结果,112,表单的确认,客户端确认,减少服务器负载,缩短用户等待时间,兼容性难,服务器端确认,统一确认,兼容性强,服务器负载重,113,客户端确认,采用,javascript,进行确认,常用函数,isBetween,isDate,isTime,isDigit,isEmail,isEmpty,isInt,isReal,114,客户端确认例子,客户端确认,用户登录,用户名:,密码:,115,function checkform(frm),var flag=true;,if(frm.name.value=),alert(,姓名不能为空,请输入值!);,frm.name.focus();,flag=false;,return flag;,116,运行结果,117,2.3.4,JSP,与客户机的交互,从表单中获得参数,返回参数,表单的服务器端确认,118,从表单中获得参数,JSP,通过,request,内置对象获取表单信息,用不同的方法获取不同种类的信息,获取参数的主要方法:,getParameter(),获取参数的值,getParameterNames(),获取参数的名称,getParameterValues(),获取多个值,119,getParameter(),可以获得文本框、文本区域、单选、多选的值,表单中各元素的,NAME,属性是它的唯一标识,用它获取参数。,参考及,request.getParameter(User);,120,向客户端输出,使用内置对象,out,out.println(content),使用“=”,参看和,out.println(,用户名:+,User+);,参看,您是第,位访问者!,121,表单的服务器端确认,在客户端不能用JSP进行确认,分工:数据处理在服务器端,实效性:客户端得到服务器确认后表明数据已经到达服务器,客户端兼容性好,缺点:加大服务器负载和用户等待时间,122,服务器端确认方法,采用Java类对表单数据进行复杂的检查,采用JSP进行确认,123,服务器端确认的例子,服务器端确认,用户登录,用户名:,密码:,124,确认,JSP,125,用户名不能为空,用户登录,用户名:,密码:,126,“session”对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。,Netscape,getRemoteAddr()+);,口令空转向loginError.,iepluginurl=URLToPlugin ,getParameter(hidden)+);,request,请求对象,charset=gb2312%,function checkform(frm),“out”对象代表了向客户端发送数据的对象,与“response”对象不同,通过“out”对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“out”对象直接向客户端写一个由程序动态生成HTML文件。,定义列表框:,Calendar of,text:用户名、口令,运行结果(TOMCAT),127,(未输入姓名)直接提交,128,输入用户名,129,输入用户名后提交,130,JSP的汉字问题的原理,客户端和服务器用gb2312,HTTP传输编码用ISO8859_1,服务器需要指示客户端文档的编码方式,ISO8859_1,ISO8859_1,gb2312,gb2312,131,JSP的汉字问题出现环节,客户端显示文档时的编码方式(由服务器中的,JSP、Servlet,指明),客户端发送汉字时自动转换为,iso8859_1,服务器中采用,gb2312,对汉字编码,接收到客户端汉字需要转换为,gb2312,服务器端将,JSP,转换为,Servlet,时自动将汉字转换为,iso8859_1,服务器端应该告诉客户端汉字的编码方式,132,JSP汉字问题的范围,JSP文件的汉字问题,表单处理的汉字问题,Servlet的汉字问题(以后讲解),JDBC的汉字问题(以后讲解),133,JSP文件的汉字问题,JSP中的汉字字符串在服务器端用gb2312,在编译为Servlet时自动转换为iso8859_1,汉字在传输中是正确的,在没有特别指示下,浏览器中无法正确显示,在HTML中指示浏览器文档的编码(),在JSP中指示JSP引擎文档的编码,每个要显示汉字的JSP文档都应该包含该语句,134,JSP文件的汉字问题(),JSP,中的汉字问题,JSP,中的汉字问题,你好,135,JSP中增加编码指示后,JSP,中的汉字问题,JSP,中的汉字问题,你好,136,表单处理中的汉字问题,表单处理涉及到客户端和服务器的完整交互过程,在客户端和服务器是,gb2312,,传输用,ISO8859_1,在服务器端接收到客户端数据时需要转换为,gb2312,后进行处理,方法,name=new String(name.getBytes(ISO8859_1),gb2312);,服务器端指示客户端汉字的显示编码,137,表单处理的汉字问题(hanzi.jsp),表单处理的汉字问题,用户登录,用户名:,表单处理的汉字问题,用户登录,用户名:,138,处理过程,表单中汉字的处理,表单中汉字的处理,用户名:?,139,处理过程(修改后),表单中汉字的处理,表单中汉字的处理,用户名:测试,140,2.4 实践:练习,JSP,编程,分析softshop的首页及用户认证,编写综合练习的首页、认证和注册页面,注意汉字问题,141,综合练习,综合练习:我的网上商店,myshop,,具有以下功能,用户登录、注册,口令空转向,loginError.jsp(,采用,),建立,web,应用,myshop,,参考,softshop,目录结构,体会表单的两种发送方法,页面设计:,完成首页、用户登录、注册(,index.jsp、login.jsp、registor.jsp),首页包括简介、商品分类、新注册用户、登录用户计数,按钮:用户登录、注册,用户计数采用,application,对象,包括输入用户名、口令的表单,用户名是否为空由服务器端确认,口令是否为空由客户端确认,处理表单的,jsp,为,check.jsp,,当口令为空时转向显示错误页面,登录成功时显示用户名和口令,(,表单采用,GET,方法发送),142,2.4 实践:练习,JSP,编程,综合练习,中录入用户信息,综合使用表单的功能:,form,标记,(,表单采用,POST,方法发送),text:,用户名、口令,radio,按钮:性别,select:,出生年月、所在地、行业 其中会使用到,option,标记,checkbox:,选择兴趣,textarea:,自我介绍,按钮:提交和重新输入,处理的,jsp,为接收,text、textarea、radio、select,的数据,并显示出来(注意汉字问题)。,中用,session,存储新注册的用户名。,包含返回首页的超链接,中用,session,提取新注册用户并显示,143,谢谢,144,谢谢观看,
展开阅读全文