Servlet在Tomcat动态web项目上的简单应用
1. Servlet简介
Servlet作为服务器端的一个组件,它的本意是“服务器端的小程序”。Servlet的实例对象由Servlet容器负责创建;Servlet的方法由容器在特定情况下调用;Servlet容器会在Web应用卸载时销毁Servlet对象的实例。
-
从广义上来讲,Servlet规范是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案。而具体的Servlet容器负责提供标准的实现
-
从狭义上来讲,Servlet指的是javax.servlet.Servlet接口及其子接口,也可以指实现了Servlet接口的实现类。
? 个人认为servlet的主要功能是用于连接web网页与java程序的桥梁,使得web网页可以驱动服务器中的java程序,并且可以将java程序返回的结果响应给浏览器。
2. 在Tomcat动态web项目上的简单应用
1. 实现servlet接口
servlet接口有如下抽象方法:
void init(ServletConfig var1);//创建对象之后执行init,在第一次接收请求时执行,只执行一次.初始化实现类的对象
ServletConfig getServletConfig();//可以获得ServletConfig对象
void service(ServletRequest var1, ServletResponse var2);//负责请求的具体逻辑处理,在接收请求后执行,每次请求都会执行。
String getServletInfo();//获取网页的说明信息
void destroy();//对对象进行消亡处理,当对象消亡时执行,只执行一次
2. 注册在web.xml配置文件中注册servlet实现类
在web.xml中使用<servlet>标签声明一个servlet对象
- <servlet-name>实现类的类名
- <servlet-class>实现类的全类名
- <url-pattern>url 一般为/实现类的类名
<servlet>
<servlet-name>实现类的类名</servlet-name>
<servlet-class>实现类的全类名</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>实现类的类名</servlet-name>
<url-pattern>/实现类的类名(URL)</url-pattern>
</servlet-mapping>
? 在接收请求后通过url在web.xml中的<servlet-mapping>中查询对应的servlet-name,在根据servlet-name在<servlet>中找到对应的servlet-class,从而确认调用的servlet对象。
graph LR
A[web]
B[web.xml]
C[servlet]
A-->|1.url|B
B-->|2.calssName|C
a[url-pattern]
b[servlet-name]
c[servlet-class]
a-->|servlet-mapping|b
b-->|servlet|c
3. 在所需要调用java程序的地方加入超链接
<a href="MyFirstServlet">To Servlet</a>