web服务器Tomcat介绍(二)
一、IDEA集成Tomcat【重点】
1、工程目录介绍
src
放Java源代码
web
放jsp、html、css、js
web/WEB-INF
受保护的目录
web/WEB-INF/web.xml
受保护目录,浏览器不能直接访问到。存放web.xml, class文件, jar包,当前项目的核心配置文件
2、配置资源路径
3、启动tomcat,浏览器访问localhost:8080二、Servlet入门
1、Servlet与java的区别
类必须实现javax.servlet.Servlet接口
运行在Web容器中,Tomcat就是一个Web容器
能够接收浏览器发送的请求,并且做出响应给浏览器
2、Servlet的应用场景
三、Servlet2.5的开发案例
[Java] 纯文本查看 复制代码
?
/**
-
- 创建一个普通Java类;实现Servlet接口,重写service方法
-
- 配置Servlet
- 2.1 配置映射路径
- 2.2 配置类路径
*/
public class HelloServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {[/size][/font]
font=微软雅黑System.out.println("Hello Servlet 初始化");[/size]
[size=3] }[/size]
[size=3] @Override[/size]
[size=3] public ServletConfig getServletConfig() {[/size]
[size=3] return null;[/size]
[size=3] }[/size]
[size=3] // 当浏览器发起请求时,访问该Servlet,service方法会自动调用[/size]
[size=3] @Override[/size]
[size=3] public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {[/size]
[size=3] System.out.println("Hello Servlet 2.5");[/size]
[size=3] }[/size]
[size=3] @Override[/size]
[size=3] public String getServletInfo() {[/size]
[size=3] return null;[/size]
[size=3] }[/size]
[size=3] @Override[/size]
[size=3] public void destroy() {[/size]
[size=3]System.out.println("Hello Servlet 销毁");[/size]
[size=3] }[/size]
[size=3]}
4、配置web.xml
[Java] 纯文本查看 复制代码
?
[/size]
[size=3][/size]
[size=3]
[size=3] xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/j...d"[/size]
[size=3] version="4.0">[/size]
[size=3] [/size]
[size=3] [/size]
[size=3]
[size=3]
[size=3] [/size]
[size=3]
[size=3] [/size]
[size=3]
[size=3] [/size]
[size=3] [/size]
[size=3]
[size=3]
[size=3] [/size]
[size=3]
[size=3] [/size]
[size=3]
[size=3]
5、启动tomcat,浏览器访问http://localhost:8080/hello,查看控制台运行结果
四、Servlet3.0开发案例
注意:唯一不同的是不需要配置web.xml里的映射路径,直接在类上加注解就可以
[Java] 纯文本查看 复制代码
?
/**
-
- 创建一个普通Java类,实现Servlet,重写service方法
-
- 配置Servlet
- 2.1 配置映射路径
- 2.2 配置类路径/size
font=微软雅黑* 2.3 配置注解/size
font=微软雅黑 */[/size]
[size=3]@WebServlet(name = "AnnotationServlet", urlPatterns = "/annotation")[/size]
[size=3]public class AnnotationServlet implements Servlet {[/size]
[size=3] @Override[/size]
[size=3] public void init(ServletConfig servletConfig) throws ServletException {[/size]
[size=3] }[/size]
[size=3] @Override[/size]
[size=3] public ServletConfig getServletConfig() {[/size]
[size=3] return null;[/size]
[size=3] }[/size]
[size=3] // 当浏览器发起请求时,访问该Servlet,service方法会自动调用[/size]
[size=3] @Override[/size]
[size=3] public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {[/size]
[size=3] System.out.println("Hello Servlet 3.0");[/size]
[size=3] }[/size]
[size=3] @Override[/size]
[size=3] public String getServletInfo() {[/size]
[size=3] return null;[/size]
[size=3] }[/size]
[size=3] @Override[/size]
[size=3] public void destroy() {[/size]
[size=3] }[/size]
[size=3]}
五、Servlet的生命周期
Servlet是何时创建的
第一次被请求时
Servlet是被谁创建的
Tomcat
Servlet如何感知自己被创建
init方法
Servlet是何时销毁的
项目关闭/卸载时被销毁
Servlet是被谁销毁的
Tomcat
Servlet如何感知自己被销毁
destroy方法
Servlet被创建了几次
1次
Servlet是否线程安全
不安全