初识servlet技术
一、Servlet的基本概念和作用
定义:Servlet是服务器端小程序
Servlet是运行在服务器上的一个JAVA编写的程序,本身是一个类。
负责接收客户端浏览器发过来的请求,进行请求的处理,并给客户端浏览器一个响应。
服务器在收到客户端浏览器的请求之后,会根据请求的URL地址,调用响应的Servlet。
Servlet被调用之后,会执行其中的代码,将响应的内容给服务器了。

我们自己写的Servlet类通常继承自:javax.servlet.http包中的HttpServlet类。
而且我们自己写的Servlet类通常要重写父类的doGet()或者doPost()方法来处理GET方式或者POST方式的请求。
(如果Servlet类中没有写doGet()方法而被GET方式请求了,或者没有写doPost()方法而被POST方式请求了,就会出现 405状态码错误。)
二、Servlet的生命周期
Servlet类没有程序入口函数(main()函数),Servlet的运行是受Tomcat控制的。
Servlet的运行原理。

a)、 Servlet在服务器上始终只有一个对象!
b)、 实例化,初始化init(),销毁destory()都只会调用一次,而服务service()每次请求都会被调用。
c)、 Servlet对象是在第一次被请求的时候实例化的 ;如果很长时间没有访问这个Servlet或者服务器停止的时候就会被销毁。
三、Servlet层次结构及API
Servlet的层次结构:
javax.servlet.Servlet接口 —— 定义了所有的Servlet必须实现的方法。
其中init()、service()、destory()就是生命周期中的重要方法。
javax.servlet.GenericServlet类 —— 定义了一个一般的,不依赖具体协议的Servlet
javax.servlet.http.HttpServlet类 —— 基于HTTP协议的Servlet的父类。
我们开发一个Servlet一定要继承自
HttpServlet类,重写doGet()或doPost()
Servlet部分的核心接口:
HttpServletRequest:用来封装所有客户端浏览器发送过来的请求信息
HttpServletResponse:用来封装Servlet要给客户端浏览器的所有响应信息。
四、其它
1、 New ——>Servlet ——> 输入类名,Next , Finish 创建了一个Servlet类!
2、 在Servlet类的doGet()方法中可以使用 out.print() 或 println() 输出信息
3、 http://localhost:8080/项目名/web.xml中url-pattern中的内容作为路径
简单解释web.xml中关于一个Servlet的配置:
假设有一个Servlet类,完全限定名是:demo1.Servlet2
此时在web.xml中可能有以下配置:
<!--定义一个servlet--> <servlet> <!--给这个servlet起一个名字--> <servlet-name>Servlet2</servlet-name> <!--指定这个servlet的包名和类名--> <servlet-class>demo1.Servlet2</servlet-class> </servlet> <!--定义一个servlet映射--> <servlet-mapping> <!--引用定义好的servlet名字--> <servlet-name>Servlet2</servlet-name> <!-- 指定一个映射的路径,注: 1、映射的路径必须以斜杠开头! 2、这些开头的斜杠表示项目名后的斜杠 --> <url-pattern>/servlet/Servlet2</url-pattern> </servlet-mapping> 注:如果修改了Servlet的类名或者删除了Servlet类,或者移动了包。一定要在web.xml中修改或删除相应的配置。

浙公网安备 33010602011771号