Web应用及Servlet简述(以Tomcat为例)
一、Web应用简述
一个Web应用程序是由完成特定任务的各种Web组件构成的并通过Web将服务展示给外界,一般是B/S模式。
二、Web应用结构
<webName> //web应用的名称
|--WEB-INF
| |--classes //保存*.class文件和源配置文件
| |--lib //保存打包后jar文件
| |--web.xml //配置描述符
|
|--<*.jsp,*.html...>
三、web应用中web.xml
1、Servlet 3.0规范中,web.xml文件的根元素<web-app …/>,新增metadata-complete属性,当该属性值为true时不会自动加载属于配置的Web组件。
2、web.xml配置默认的首页使用<welcome-file-list …/>元素,例如:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
四、Servlet简述
1、描述:Servlet通常被称为服务器端小程序,是运行在服务器端的程序。本质是一个特殊的Java类,必须继承javax.servlet.http. HttpServlet类。
2、作用:处理及响应客户端请求(GET请求、POST请求、PUT请求、DELETE请求)。
3、Servlet配置:要想Servlet能响应客户端请求,需要将Servlet配置在Web应用中,需要修改web.xml文件。
a、Servlet3.0开始,可以使用注解(@WebServlet)加在对应的实现类,如:@WebServlet("/ServletTest")
b、使用web.xml配置方式,例:
<servlet>
<servlet-name>servletName</servlet-name>
<servlet-class>servletClass(备注:全类名)</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletName</servlet-name>
<url-pattern>/test(备注:指定Servlet映射的URL地址,如:/test)</url-pattern>
</servlet-mapping>
说明:当Servlet在容器中运行时,其实的创建及销毁受Web容器控制,大致分三步:a、创建Servlet实例,有两种情况:
- 客户端第一次请求某个Servlet时、创建该Servlet实例
- Web应用启动时立即创建Servlet实例,配置Servlet时使用load-on-startup属性。
b、Web容器调用Servlet的初始化方法,及init方法,初始化之后将一直存在于容器中;c、销毁Servlet实例,Web容器销毁Servlet时,将会调用该Servlet的destroy方法,通常在关闭Web应用销毁Servlet。