实验1servlet实验_第1页
实验1servlet实验_第2页
实验1servlet实验_第3页
实验1servlet实验_第4页
实验1servlet实验_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳理工大学应用技术学院javaweb程序设计实验实验题目: servlet编程设计 院 系: 信息与控制学院 专 业: 计算机科学与技术 班级学号: 11301234 学生姓名: 张森 指导教师: 靳新 成 绩: 2013 年 4 月 20 日实验一 servlet编程设计【开发语言及实现平台或实验环境】windows系统,jdk,myeclipse开发环境,tomcat服务器 【实验目的】1、熟悉servlet的基本概念2、掌握servlet的工作原理3、掌握servlet的生命周期4、掌握servlet处理表单数据的编程方式5、掌握servlet会话管理的编程设计【实验内容】1、编写一个

2、servlet处理表单的程序,基本要求:(1)客户端以html表单方式向服务器提交数据的方法;(2)提交方法采用post方法;(3)表单中涉及到各种常用控件;(4)使用相应方法获取表单数据2、程序实现功能如图所示:注意:项目名为loginservletproject,表单文件名为login.html,获取表单的servlet名为loginservlet。 login.html loginservlet.java3、程序功能提升要求:(1)在表单的“建议”中使用fckeditor实现编辑器功能;(2)如果输入无效参数,使用jsvalidation验证框架对表单中每个选项的内容进行有效性验证。如图

3、: 【代码实现】1、login.htmllogin.html!- window.onload = function() var ofckeditor = new fckeditor(advise);ofckeditor.basepath = /loginservletproject/fckeditor/;ofckeditor.replacetextarea(); -潜在用户调查姓名: email: 年纪:小于1818-2526-40大于40编程时间:1年内1-2年3年以上所使用的操作系统:win xpwin 2000/2003linuxfreebsdmac osother使

4、用的编程语言:cc+c#pythonjavavbdephi建议: var ofckeditor = new fckeditor(advise); ofckeditor.basepath = /loginservletproject/fckeditor/; ofckeditor.height = 200; ofckeditor.width = 700; ofckeditor.toolbarset = default; ofckeditor.create(); 2、loginservlet.java import java.io.ioexception;import java.io.printwr

5、iter;import javax.servlet.servletexception;import javax.servlet.http.httpservlet;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;public class loginservlet extends httpservlet public loginservlet() super();public void destroy() super.destroy(); public void d

6、oget(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception dopost(request, response);public void dopost(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception response.setcontenttype(text/html;charset=utf-8);printwriter o

7、ut = response.getwriter();request.setcharacterencoding(utf-8);string username = request.getparameter(username);string email = request.getparameter(email);string age = request.getparameter(age);string time = request.getparameter(time);string os = request.getparametervalues(os);string language = reque

8、st.getparametervalues(language);string advise = request.getparameter(advise);out.print(姓名:+username);out.print();out.print(email: +email);out.print();out.print(年龄:+age);out.print();out.print(编程时间:+time);out.print();out.print(使用的操作系统:);for(int i = 0;ios.length;i+)out.print(osi+   

9、);out.print();out.print(使用的编程语言:);for(int s = 0;slanguage.length;s+)out.print(languages+   );out.print();out.println(建议:+advise);out.flush();out.close();public void init() throws servletexception 【思考题】1、如何修改tomcat端口号?在tomcat文件conf文件夹下的server.xml文件,更改port端口号,默认为8080端口。 2、说明在tomcat中,tom

10、cat-user.xml文件的作用。 用于配置tomcat使用的用户名,密码等信息3、如何在web.xml中配置一个编写好的servlet?需要指定: 配对名 servlet类名 配对名 /请求的url 4、说明servlet类的结构。get请求就是用户在浏览器的地址栏里输入一个地址、在网页上点击连接或产生一个没有定义方法的html表单后产生的请求。servlets还能轻松处理表单的提交(post),关于处理表单提交我们将在后面几部分谈到。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public

11、 class someservlet extends httpservlet public void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception / 用 request 读取http信息头(如cookie) / 和html表单数据 (如用户输入和提交的数据) / 用response指定http响应 和http信息头 / (如指明信息的类型、设定cookie). printwriter out = response.getwriter();

12、 / 用 out输出内容到浏览器 不管是用doget还是dopost方法,servlet都要用到httpservlet扩展类。这些方法可分为两类:httpservletrequest和httpservletresponse。httpservletrequest含有获得表单数据、http信息头等信息的方法。 httpservletresponse则包含指明http响应 (200, 404,等。)、信息头(content-type, set-cookie, 等。)的方法,更重要的是你能使用printwriter方法向客户端输出信息。注意doget和dopost方法会抛出两个异常,所以必须在定义里包

13、含他们。要用到printwriter、httpservlet和httpservletrequest, httpservletresponse方法还必须分别引入java.io、javax.servlet和javax.servlet.http。 一般来说,doget和dopost是被service方法调用的,但有时候你可能想越过service方法而直接使用自己定义的service方法,比如定义一个既能处理get也能处理post请求的servlet。 5、说明servlet的生命周期。servlet的生命周期是由servlet的容器来控制的。分为3个阶段:初始化阶段(init)、运行阶段(run)、

14、销毁阶段(destroy)。一、 init初始化阶段步骤:1) servlet容器加载servlet类,把它的. class文件中的数据读到内存中。2) servlet容器创建servletconfig对象。servletconfig对象包含了servlet的初始化配置信息。此外servlet容器还会使得servletconfig对象与当前的web应用的servletcontext对象关联。3) servlet容器创建servlet对象。4) servlet容器调用servlet对象的init(servletconfig config)方法。通过初始化步骤,创建了servlet对象和servl

15、etconfig对象,并且servlet对象与servletconfig对象关联,而servletconfig对象又与当前对象的servletcontext对象关联。当servlet容器完成servlet后,servlet对象只要通过getservletcontext()方法就能得到web应用的servletcontext对象。初始化的情况:1) 当web应用处于运行阶段时,特定的servlet被客户端首次请求访问。2) 在web.xml文件中为servlet设置了元素servlet1servlet.servlet103) 当web应用被重新启动时,web应用中的所有servlet会在特定的时

16、间被重新初始化。二、 run1) 在这个阶段sevlet可以随时响应客户端的请求。当servlet容器接到访问特定的servlet请求时,servlet容器会创建针对与这个请求的servletrequest和servletresponse对象,然后调用service()方法,并把这两个对象当做参数传递给service()方法。service()方法通过servletrequest对象获得请求信息,并处理该请求,再通过servletresponse对象生成响应结果。2) 【不管是post还是get方法提交,都会在service中处理,然后,由service来交由相应的dopost或doget方法

17、处理,如果你重写了service方法,就不会再处理dopost或doget了,如果重写sevice()方法,可以自己转向dopost()或doget()方法】 注:当servlet容器把servlet生成的响应结果发送给客户后,servlet容器会销毁servletrequest和sevletresponse对象。三、 destory 当web应用被终止时,servlet容器会先调用web应用中所有的servlet对象的destroy()方法,然后在销毁servlet对象。此外容器还会销毁与servlet对象关联的servletconfig对象。 在destroy()方法的实现中,可以释放se

18、rvlet所占用的资源。如关闭文件输入输出流,关闭与数据库的连接。6、说明在servlet中如何处理接受参数的乱码问题。servlet中时常要接收jsp页面传过来的参数,它也要进行一次编码转换,转换方式是,在接收参数的方法内,接收参数之前加上:request.setcharacterencoding(gb2312);这句话,是专门处理页面传过来的乱码处理问题,保证在这里接收时,能接收到正确的中文。而还有一名话,也是要加的:response.setcontenttype(text/html; charset=gb2312);这句话,就是专门处理在servlet里,当参数经过处理后,要传到客户端显

19、示时,要保证传送的是正确的中文。这两句话,都得写在servlet里。7、如何在servlet中使用cookie对象用到的类 javax.servlet.http.cookie构造cookie 的方法 : new cookie(键,值)构造函数如下:cookie(java.lang.string name, java.lang.string value)把cookie发送给客户端httpservletresponse.addcookie(javax.servlet.http.cookie)取得客户浏览器的cookie,返回的是数组httpservletrequest.getcookies()getcomment/setcomment 获取/设置cookie的注释。getdomain/setdomain获取/设置cookie适用的域。一般地,cookie只返回给与发送它的服务器名字完全相同的服务器。使用这里的方法可以指示浏览器把cookie返回给同一域内的其他服务器。注意域必须以点开始(例如),非国家类的域(如.com,.edu,.gov)必须包含两个点,国家类的域(如,.edu.uk)必须包含三个点。getmaxage/setmaxage获取/设置cookie过期之前的时间,以秒计。如果不设置该值,则c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论