首页 > 学院 > 开发设计 > 正文

servlet笔记_01

2019-11-09 18:27:37
字体:
来源:转载
供稿:网友
servlet笔记java EE课程体系:基础(核心):servlet、jsp高级:框架,如sPRing、hibernate、Struts等servlet概述servlet技术是在java ee出现之前就存在了,在开发动态网页中得到广泛的应用,直到现在的java ee项目中也是非常重要的,同时jsp也是在servlet的基础上发展起来的servlet(java服务器小程序)是用java编写的服务器程序,它的特点: 1.由服务器调用和执行 2.用java语言编写的 3.按照servlet规范开发 4.功能强大,可以完成几乎所有的网站功能 5.是学习jsp的基础 servlet/jsp运行环境: Tomcat是一个免费的开源的servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。 tomcat在网络中的位置servlet开发流程1.在Tomcat的webapps建一个英文名的文件夹(如:myweb),在myweb下创建一个WEB-INF文件夹,在WEB-INF下写一个文件web.xml(该网站的配置信息),在myweb下建立一个classes的子文件夹,也可以从别的目录ROOT下拷贝2.开发servlet(引入Tomcat文件夹下lib文件夹里的servlet-api.jar)3.部署servlet(配置web.xml文件)4.启动Tomcat,访问你的servlet,在浏览器的地址栏中输入:http://127.0.0.1:8080/myweb/hello回车就可以看到servlet的输出注意:127.0.0.1是服务器所在的ip,8080是端口号,要根据实际情况定配置Tomcat虚拟目录:将虚拟目录配置到Tomcat的conf目录下面的server.xml文件,在<Host>节点之间添加代码:<Context path=”/web2” docBase=”d:/web2” />其中path:应用名称,或者默认的是web工程的名称。docBase:应用所在的位置(绝对位置)。使用eclipse开发servlet步骤:创建web工程创建包结构:controller、service、dao、entity创建servlet类部署servlet:配置web.xml文件启动Tomcat,打开浏览器,输入URL开发servlet有三种方法1、实现servlet接口参考教学演示案例的“案例1_helloworld”。servlet生命周期1.Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。2.init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。3.service():它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用。对于每次访问请求,servlet对象都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给servlet对象调用的service()方法,service()方法再根据请求方式分别调用doXXX方法。4.destroy(): 仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。servlet工作流程1、客户端发出http请求2、tomcat根据请求找到对应的URL3、tomcat根据URL找到对应的服务类4、servlet根据http的请求方式,选择执行doXXX方法5、响应客户端2、继承GenericServlet参考教学演示案例的“案例2_打印页面及三种实现servlet方式”文件夹下面的“HelloSecond.java”。3、继承HttpServlet参考教学演示案例的“案例2_打印页面及三种实现servlet方式”文件夹下面的“HelloThird.java”。Tomcat启动时装载servlet如果在<servlet>元素中配置一个<load-on-startup>元素,那么,WEB应用程序在启动时,就会装载并创建Servlet的实例对象、以及调用Servlet实例对象的init()方法。作用:为web应用写一个InitServlet,这个servlet配置为启动时装在,为整个web应用创建必要的数据库表和数据。或者是启动一个后台线程,定时去完成某些工作(如:定时检查内存池中数据,当数据量低于某个下限时,去数据库获取数据)。<servlet> <servlet-name>initservlet</servlet-name> <servlet-class>com.yunlian.controller.initServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> 当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载中文乱码方式一:req.setCharacterEncoding("UTF-8");方式二:resp.setContentType("text/html;charset=UTF-8");方式三:
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表