首页 > 代码库 > Servlet基础笔记

Servlet基础笔记

1、什么是servlet?能做什么?
sun公司制定的一种用于扩展web服务器功能的组件规范。
扩展:web服务器本身没有计算能力,也就是说,不能处理动态资源的请求。servlet可以处理动态资源的请求。
组件规范:
组件是符合规范,完成一定功能,并可以单独部署的软件模块。
组件一般不能独立运行,需要依赖容器才能运行。
容器:
是一种程序,提供组件的运行环境,并且管理组件的生命周期。
servlet容器:
提供servlet运行的环境,并且管理servlet的生命周期。
一般常见的web服务器,比如tomcat,除了是一个servlet容器以外,同时,
也是一个web服务器。
能做什么?
servlet只能够采用java语言来开发,servlet可以做java类能做的所有的事件。
2、如何开发一个servlet?
step1 写一个java类,实现Servlet接口或者是继承HttpServlet类。
step2 编译(依赖servlet api)
step3 打包(定义一个特定的目录结构,将对应的字节码,配置文件,相关的jar文件放到对应的目录结构里)
appname(名称任意,一般称为应用名)
WEB-INF(必须有,必须以该名称命名)
classes(必须有,必须这样命名,放字节码.class文件)
lib(可选,必须这样命名,放.jar文件)
web.xml(部署描述文件)
html/jsp文件
注:web.xml文件内容 示例:
<标头>
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>first(包名).HelloServlet(servlet名称)</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet<servlet-name>
<url-pattern>/hello(必须有/)</url-pattern>
</servlet-mapping>
step4 部署(将step3的文件夹的包结构放到服务器特定的目录,对于tomcat,是webapps)
step5 启动服务器
启动成功判断:http://localhost:8080
step6 访问servlet
http://localhost:8080/appname/url-pattern
3、servlet是如何运行的?
假如在浏览器地址栏输入了如下地址:http://ip:port/appname/url-pattern
1)浏览器一句ip,port连接服务器;
2)浏览器将请求数据按http协议打成一个http请求数据包(包含了/appname/url-pattern)
3)服务器当中的一个负责通讯的模块(一般称为servlet引擎)会创建HttpServletRequest的一个实例(
HttpServletRequest实际上是一个接口,由服务器提供者来实现接口只能创建实例,不能创建对象),
该实例包含了请求数据包中的数据。另外,还创建了一个HttpServletResponse的一个实例(也是一个
接口)。
4)服务器依据appname/url-pattern找到web.xml,依据web.xml中的信息找到对应的Servlet类名,
查看该Servlet有没有对应的实例,如果没有,则创建实例,有的话,就不创建,使用现成的实例。
接下来,调取service()方法。
public void service(HttpServletRequest request,HttpServletResponse response){}
service方法里面的代码可以通过HttpServletRequest提供的方法来获得请求中的数据,并且,也可以将处理之后的结果
通过HttpServletResponse提供的方法设置返回的结果。
5)Servlet引擎从HttpServletResponse获取数据,生成一个http响应数据包,发送给浏览器。
4、使用myeclipse开发servlet
1)安装myeclipse
2)开发步骤
step1 建立一个web工程
step2 在src下面编写java类
step3 在web.xml中配置
setp4 部署
a、让myeclipse管理tomcat
b、部署
step5 访问
http://ip:port/appname/url-pattern

Servlet基础笔记