Servlet容器简介

1.使用Servlet所需要的环境和开发工具

(1)Java环境

(2)Tomcat

(3)Eclipse新建一个DynamicWeb Project

注意:在新建工程的时候要将 Generate web.xml deployment descriptor 这个选项选中,否则会出现工程中没有web.xml文件的情况

2.DynamicWeb Project的工程目录结构

|--src/                                存放java源文件

|--WebContent/                   存放静态资源(Servlet会发布除了web-inf以外的资源)

        |--WEB-INF/            

           |--lib/                  第三方依赖库文件.jar

           |--classes/            存放容器编译后的.class文件

               |--web.xml           配置文件,包括url映射,默认主页等信息配置

        |--images/                  图片资源

        |--css/                        样式资源

        |--js/                          动态js资源

        |--templates                jsp、html等资源

<!-所以图片、样式等资源不能放在web-inf文件夹下面,否则访问不到,返回404错误-->

 

3.Jsp+Tomcat+Sevlet容器+JDBC+MySql的整体架构

①获取页面信息:

(1)浏览器访问/index.jsp,发起GET请求,将url传送到服务器端

(2)tomcat接受请求处理index.jsp->index.java->index.class,调用jspService()方法,将jsp中的html通过HTTP协议输出到浏览器,浏览器渲染成我们看到的页面信息

②提交请求动态刷新页面信息:

(1)浏览器通过点击按钮、提交表单等行为向服务器发送POST请求,传送url到服务端

(2)tomcat接受请求,在web.xml文件中通过url映射找到相应的容器类,根据请求类型,寻找到容器中相应的doXXX(request,response)方法,方法体被程序员重写,用JDBC对数据库进行操作,得到数据后,通过getWriter()设置响应体,返回前端,刷新页面信息

4.Servlet的生命周期

(1)Servlet 通过调用 init() 方法进行初始化。

①init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。

②Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但是您也可以指定 Servlet 在服务器第一次启动时被加载。

③当用户调用一个Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init()方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。

(2)Servlet 调用 service() 方法来处理客户端的请求。

①service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。

②每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。

(3)Servlet 通过调用 destroy() 方法终止(结束)。

①destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

②在调用destroy() 方法之后,servlet 对象被标记为垃圾回收。

(4)最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

5.Web容器、Tomcat服务器和Sevlet容器的关系

(1)Web容器与Tomcat服务器

Web容器是用作运行Java web程序的,主要分为两类,一种是独立Web容器,也可以称作Web服务器,只能运行Web程序,Tomcat就是这种服务器。另一种是与其他JavaEE容器混合在一起的容器,Web容器负责运行Web程序,其他容器负责EJB等程序,如WebLogic等

当用户通过浏览器等Web客户端软件向服务器发出一个请求之后,首先接收到这个请求的是Web容器,Web容器会将请求信息封装到一个HttpServletRequest类型的Java对象中,并将对象传递给Java Web程序。对于每个请求,Web容器还会创建一个HttpServletResponse类型对象,该对象的作用是用来保存需要返回到浏览器等客户端的内容。Java Web程序可以从HttpServletRequest提取用户发出的请求信息,进行适当的处理之后,将处理结果放置到HttpServletResponse中,然或由Web容器解析HttpServletResponse对象内容,并将解析结果以浏览器能够识别的HTML等格式返回给浏览器等客户端。在这个过程中,HttpServletRequest和HttpServletResponse就如同两条渡船,负责在Web容器和Java Web程序之间传递信息。需要注意的是,这两个对象仅存在于Web容器和Java Web程序当中,与浏览器没有关系

(2)Tomcat和Servlet之间的关系

Servlet属于一种Web元件,Tomcat是经过包装可以处理Web 程序的Servlet

① 客户端(通常都是浏览器)访问Web服务器,发送HTTP请求。

Web服务器接收到请求后,传递给Servlet容器。

Servlet容器加载Servlet,产生Servlet实例后,向其传递表示请求和响应的对象。

④ Servlet实例使用请求对象得到客户端的请求信息,然后进行相应的处理。

⑤ Servlet实例将处理结果通过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制返回给Web服务器。

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值