课件7-13协议和tomcat服务器day14servlet_第1页
课件7-13协议和tomcat服务器day14servlet_第2页
课件7-13协议和tomcat服务器day14servlet_第3页
课件7-13协议和tomcat服务器day14servlet_第4页
课件7-13协议和tomcat服务器day14servlet_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、Servlet&今日内容学习目能够理解Servlet 技术概能够独立写出 Servlet 的入门程能够说出 servlet 生命周期方法执行流能够应用能够使用 servletcontext 域对能够写出统计网站访问次数的代第1Servlet什么 Servlet的作用来处理从客户端发送过来的请求,Servlet 的任务有Servlet准备工Servlet 规范要求:Servlet 程序需要编写实现类,并在 web.xml 进行配置javax.servlet.http.HttpServletdoGetdoPostdoGet()getdoPost()post请求。web.xml 进行配置。编写步Ht

2、tpServletdoGetdoPostpackage import import import import import publicclassHelloServletextends HttpServlet publicvoiddoGet(HttpServletRequestreq,HttpServletResponsethrowsServletException,IOException System.out.println(get 请求将执行publicvoiddoPost(HttpServletRequestreq,HttpServletResponsethrowsServletExc

3、eption,IOException System.out.println(post 请求将执行!-demo01servlet hello * servletxmlservlet-classservlet*servletservletservlet-/servlet-!-demo01servlethello end-Servlet 的执行的流程详解RequestRequest 接收请求参数的StringgetParameter(Stringnull,如果只有Request 接收请求参数入编写表单,提供表单字段:username、password、hobby,以 post 方式提formacti

4、on=./demo01ParamServlet 用户名:inputtype=textname=usernamevalue=jack密码:inputtype=textname=passwordvalue=1234爱好:inputtype=checkboxname=hobbyvalue=checked=checkedinputtype=checkboxname=hobbyvalue=checked=checked烫inputtype=submitvalue=postServletPOSTpublicpublicclassDemo01ParamServletextends HttpServlet p

5、rivateprivatestaticfinallongserialVersionUID=publicvoiddoGet(HttpServletRequestrequest,HttpServletResponsethrowsServletException,IOException /0/1/1.1Stringusername= /1.2Stringpassword= + : + /2Stringhobbies= /3MapallData=for(Map.Entryentry:allData.entrySet()System.out.print(-publicvoiddoPost(HttpSer

6、vletRequestrequest,HttpServletResponsethrowsServletException,IOException /*,doPostdoGet*doPost*doGetdoGet(request,编写 Servlet,配置文servlet-/servlet-Servlet完成一个用户登录的案例案例需求在网站的首页上在网站的首页上,登录的链接,点击登录的链接,可以跳转到登录的页面.案例分代码实htmlformaction=./userServlet 用户名:inputtype=textname=usernamevalue=jack密码:inputtype=text

7、name=passwordvalue=123456inputtype=submitvalue=xml servlet-/servlet-Servlet代public classUserServlet extendsHttpServlet privatestaticfinallongserialVersionUID=ServletException,IOExceptiontry 1.Stringusername= Stringpassword= 2.User user= new 3.UserServiceuserService =new UserexistUser = 4.if(existUse

8、r=response.getWriter().println(Loginresponse.getWriter().println(Logincatch (Exceptione) protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponsethrows ServletException,IOExceptiondoGet(request,service代public classUserService *param*throwspublicUser login(Useruser)throwsSQLException User re

9、sult =DAOUserDaouserDao =new ListuserList= if(userList.size() != 0) result = returnDAOpublic classUserDao JdbcTemplatejdbcTemplate= new *DAO*param*throwspublicListlogin(Useruser) throwsSQLException Stringsql =select * from userwhere username=? and password = ListexistUser= returnServlet的生命周期生命周期:就是一

10、个对象从创建到销毁的过程Servlet生命周期:Servlet从创建到销毁的过程何时创建:ServletServlet (单实例何时销毁:当项目从服务器中移除的时候,或者关闭服务器的时候Servletservletjavax.servlet.Servlet每一次调用,都将执行 service(ServletRequest,ServletResponse)方JavaEEServletGenericServletservletHttpServletHttpservicehttp getdoGet()如果是post,将调用servletServletServlet servletServlet 的i

11、nit 然后每一次请求服务器都会创建一个新的线程访问 Servlet 中的 service 的方法service方法内部根据请求的方式的不同调用 doXxx 的方法(get 请求调用 doGet,post 请求调用 Servlet 从服务器中被移除,或者关闭服务器,Servlet Servlet的相关的配置【启动时创建 Servlet的配置的配置在 *2 - 传入正整数,整数越小,被创建的优先级就越高【url-pattern 的配置完全路径匹:以 /开例如/ServletDemo4/aaa/ServletDemo5目录匹:以 /开始 需要以 *结束例如/* (所有),/aaa/*(aaa目录下

12、的所有)扩展名匹:不能以/开始以*开始的.例如:*.do,*.action、*.jsp、*错误的写法 : 缺省路html页面时,首先从当前web项目的web.xml文件寻找匹配路径,如果如果没有找到,tomcatweb.xmlservlettomcat获得匹配路径时,优先级顺序:123有如下的配置servlet-/servlet-如果访问地址* servlet-/servlet-servlet-/servlet-开发中的路径的编写相对路径相对路径:都是需要找位置相对关系.开始的当前路径 ./使用相对路径访问绝对路径:不需要找位置相对关系以 开始的绝对路径中分为客户端路径和服务器端路径客户端路径

13、一定要加工程名服务器端路径不需要加工程名第2ServletContext服务器启动的时候,WEB ServletContext 对象,我们可以使用这个对象存取数据,WEB 应用中获得。可以使用如下方法存取数据setAttribute(Stringname,ObjectServletContextgetAttribute(StringServletContextServletContext案例:记录网站的登录成功的人数案例需求登录成功后登录成功后,5秒后跳转到某个页面,在页面中显示您是第x位登录成功的用户案例分析代码实现formaction=./userCountServlet用户名:input

14、type=textname=usernamevalue=jack密码:inputtype=textname=passwordvalue=123456inputtype=submitvalue=xml servlet-servlet-/servlet-Servlet代*publicclassUserCountServletextends HttpServlet privatestaticfinallongserialVersionUID=publicvoidinit() throwsServletException countint count = ServletContextthis.getS

15、ervletContext().setAttribute(count,ServletException,IOExceptiontry 1.Stringusername= Stringpassword= 2.User user= new 3.UserServiceuserService =new UserexistUser= 4.if(existUser=intcount=(int) this.getServletContext().setAttribute(count,response.setHeader(Refresh,catch (Exceptione) protectedvoiddoPo

16、st(HttpServletRequestrequest,HttpServletResponsethrowsServletException,IOExceptiondoGet(request,Servlet代publicclassCountServletextends HttpServlet privatestaticfinallongserialVersionUID=ServletException,IOExceptionCountintcount =(int) protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponse

17、throwsServletException,IOExceptiondoGet(request,ServletContext:WEBServletContext对象,tomcat为每一个web项目单独创建的一个上下文(知上知下贯穿全文)对servlet之间共享数据WEB项目中的指定资源(文件webweb.xmlweb全局初始化参数(整个项目)全局初始化参数(整个项目)方法说功能描SetgetResourcePaths(StringSet path必须以正斜线(/)开始,StringgetRealPath(String返回资源文件在服务器文件系统上的真实路径(文件的绝对路径)path 代表资源文

18、件的虚拟路径,它应该以正斜线开始(/)开始,“/”表示当前 方法说功能描SetgetResourcePaths(StringSet path必须以正斜线(/)开始,StringgetRealPath(String返回资源文件在服务器文件系统上的真实路径(文件的绝对路径)path 代表资源文件的虚拟路径,它应该以正斜线开始(/)开始,“/”表示当前 URL getResource(String URL getResourceAsStream(Stringpath)返回映射到某个资源文件的 InputStream pathgetResource()方法完全一ServletContextWeb资源路

19、径的方法后,接下来通过一个案例,分步骤演示ServletContext 对象读取资源文件代码实publicclassReadFileServletextends HttpServlet publicvoiddoGet(HttpServletRequestHttpServletResponseresponse)throwsServletException,ServletContextcontext =PrintWriterout= InputStream inPropertiespros =new out.println(Company=+pros.getProperty(Company)+out.println(Address=+

温馨提示

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

评论

0/150

提交评论