实验6Servlet的使用一、实验目的编写Servlet处理表单的程序。二、实验要求1.熟悉Servlet的基本概念,掌握Servlet的工作原理和生命周期,2.熟悉Servlet处理表单数据的编程方式,了解Servlet会话管理的编程设计基础。三、实验内容1.编写一个Servlet处理表单的程序,客户端以HTML表单方式向服务器提交数据,提交方法采用Post方法,使用相应方法获取表单数据。2.程序实现功能如图所示:注意:项目名为ServletProject,表单文件名为test.html,获取表单的Servlet名为testServlet。四、实验代码packagelab6;//Servl.javaimportjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;@WebServlet(/Servl)publicclassServlextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publicServl(){super();}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstub//response.getWriter().append(Servedat:).append(request.getContextPath());response.setContentType(text/html;charset=gb2312);PrintWriterout=response.getWriter();request.setCharacterEncoding(gb2312);Stringusername=request.getParameter(username);Stringemail=request.getParameter(useremail);Stringage=request.getParameter(userage);Stringtime=request.getParameter(protime);String[]os=request.getParameterValues(os);String[]language=request.getParameterValues(prolang);Stringadvise=request.getParameter(advise);out.print(姓名:+username+br);out.print(email:+email+br);out.print(年龄:+age+br);out.print(编程时间:+time+br);out.print(使用的操作系统:);for(inti=0;ios.length;i++)out.println(os[i]);out.print(br+使用的编程语言:);for(inti=0;ilanguage.length;i++)out.println(language[i]);out.print(br);out.println(建议:+advise);}protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubdoGet(request,response);}}html//login.htmlbodyh1潜在用户调查/h1formaction=lab6/Servlid=form0method=posttabletrtd姓名:/tdtdinputtype=textname=username//td/trtrtdEMAIL:/tdtdinputtype=textname=useremail//td/trtrtd年纪:/tdtdinputtype=radioname=useragevalue=小于18岁小于18岁inputtype=radioname=useragevalue=18-2518-25inputtype=radioname=useragevalue=26-4026-40inputtype=radioname=useragevalue=大于40大于40/td/trtrtd编程时间:/tdtdselectname=protimeoptionvalue=1year1year/optionoptionvalue=2year2year/option/select/td/trtrtd使用的操作系统:/tdtdselectname=osmultiple=multiplesize=6optionvalue=xpWinXP/optionoptionvalue=Win2000/2003Win2000/2003/optionoptionvalue=linuxLinux/optionoptionvalue=bsdfreeBSD/optionoptionvalue=macmacos/optionoptionvalue=otherother/option/select/td/trtrtd使用的编程语言:/tdtdinputtype=checkboxname=prolangvalue=CCinputtype=checkboxname=prolangvalue=C++C++inputtype=checkboxname=prolangvalue=C#C#inputtype=checkboxname=prolangvalue=PYTHONPYTHONinputtype=checkboxname=prolangvalue=JAVAJAVAinputtype=checkboxname=prolangvalue=VBVBinputtype=checkboxname=prolangvalue=DEPHIDEPHI/tdtrtd建议:/tdtdtextareaname=advisecols=50rows=4我很喜欢编程,欢迎大家一起交流/textarea/td/trtrtd/tdtdinputtype=submitvalue=提交inputtype=resetvalue=重置/td/tr/table/form/body/html五,实验结果?xmlversion=1.0encoding=UTF-8?//web.xml文件web-appxmlns:xsi==:schemaLocation=://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdversion=3.1display-namelab6/display-nameservletservlet-nametest/servlet-nameservlet-classlab6.Servl/servlet-class/servletservlet-mappingservlet-nametest/servlet-nameurl-pattern/lab6/Servl/url-pattern/servlet-mappingwelcome-file-listwelcome-filelogin.html/welcome-file/welcome-file-list/web-app六,实验分析本实验主要问题是eclipse的环境配置,首先原来安装的eclipse没有网页程序功能,需要重新下载正确的安装包。然后服务器tomcat的配置,然后servlet.java的编写,由于eclipse未自动生成web.xml需要手动生成,web.xml中url-patternurl-pattern的配置,比较麻烦,修改后成功。