Servlet做了什么?
Servlet本身不做任何业务处理,只是接受请求并决定调用哪个。JavaBean去处理请求,确定用哪个页面来显示处理返回的数据。
只有当一个服务器端的程序使用了Servlet API的时候,这个服务端的程序才能称之为Servlet。
Servlet是什么?
Server+Applet,是一种服务器端的Java应用程序。
新闻管理系统
JSP显示数据。
Servlet接受请求,调用JavaBean去处理请求。
JavaBean封装数据,业务逻辑。
JSP是一种负责显示的技术
Servlet将显示与接受请求,处理请求的工作分开
Servlet特点总结
是一个Java程序
运行在服务器端
需要web容器的支持
使用了ServletAPI
本身不做任何业务处理,中间调度作用
ServletAPI
java.servlet.Servlet接口
所有Java Servlet的基础接口类,规定了必须由Servlet具体类实现的方法集。
java.servlet.GenericServlet类
是Servlet的通用版本,是一种与协议无关的Servlet。
java.servlet.http.HttpServlet类
在GenericServlet基础上拓展的基于Http协议的Servlet。
init()
service()
doGet()
doPost()
destroy()
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>com.bdqn.servlet.Servlet</servlet-class>
</servlet>
名字要唯一
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
//相对于当前路径的目录
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>
如果是一对mapping和servlet的名字要一样
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
Servlet的初始化方法,仅仅会执行一次
public Servlet() {
super();
}
处理请求和生成相应
public void destroy() {
super.destroy();
}
在服务器停止并且程序中的Servlet对象不再使用的时候调用,只执行一次。
Servlet生命周期的各个阶段
加载和实例化。
初始化。
处理请求。
销毁。
<!--全局变量 -->
<context-param>
<param-name>charset1</param-name>
<param-value>utf-8</param-value>
</context-param>
可以在启动服务器时就拿到
<!-- 局部变量-->
<init-param>
<param-name>charset2</param-name>
<param-value>gbk</param-value>
</init-param>
要写在servlet内