servlet与jsp的区别
servlet等同于jsp
servlet是以类的形式存在,jsp是以页面形式存在。
现有servlet,为了开发效率,开发了jsp
servlet配置
1.创建类
@WebServlet(name = "Demo")
public class Demo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("This is a new servlet page");
}
}
2.servlet不能直接使用,需要配置
在web.xml中配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>Demo</servlet-name>
<servlet-class>Demo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Demo</servlet-name>
<url-pattern>/Demo</url-pattern>
</servlet-mapping>
</web-app>
插播一个idea创建servlet项目
1.
点击下一步,输入项目名,finish。
2.在刚创建好的项目的WEB-INF下创建2个文件。一个classes,存放.class文件。一个lib,存放jar
在project structure中设置classes,lib
点击+,选择第一个,选择lib路径,再选择jar directory
3.run中配置tomcat
4.src中新建servelt,然后web.xm配置后启动即可。
插播结束。
servlet单实例多线程
线程安全:单实例:成员变量只有一个
可以局部变量
servlet创建时机
1.第一次客户端访问的时候,至到服务器终止
2.服务器启动
servlet生命周期
1.当客户端第一次访问时或服务器启动servlet被实例化init方法;
2.调用service方法处理请求,service根据请求类调用对应的do方法;
3.do方法负责具体的业务处理,相应客户端结束;
4.当服务器终止,被关闭时会调用destory方法,回收对象,生命周期结束。