tomcat部署项目的方式
1 直接将项目放在webapps目录下
/hello: 项目的访问路径-->虚拟目录
简化部署:将项目打成一个war包,再将war包放置到webapps目录下
war包会自动解压缩
2 配置conf/server.xml
在<Host>标签中配置
<Context docBase="D:\hello" path="/hehe"/>
docBase 项目存放的路径
path 虚拟目录
3 在Conf\Catalina\localhost 创建任意名称的xml文件。在文件中编写
<Context docBase="D:\hello"/>
静态项目和动态项目:
目录结构
java动态项目的目录结构:
--项目的根目录
--WEB-INF目录:
-- web.xml: web项目的核心配置文件
--classes:放置字节码文件的目录
--lib目录:放置依赖的jar包
Servlet: server applet
概念:运行在服务器端的小程序
Servlet就是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则
快速入门:
1 创建JavaEE项目
2 定义一个类,实现Servlet接口
public class ServletDemo1 implements Servlet
3 实现接口中的抽象方法
4 配置Servlet
在web.xml中配置:
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
</servlet> //tomcat将全类名对应的字节码文件加载进内存 Class.forName()
创建对象 cls.newInstance();
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1<url-pattern>
执行原理
1 当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
2 查找web.xml文件,是否有对应的<url-pattern>标签体内容
3 如果有,则在找到对应的<servlet-class>全类名
4 tomcat会将字节码文件加载进内存,并且创建其对象
Servlet中的生命周期
1 被创建:执行init方法,只执行一次
Servlet什么时候被创建
默认情况下,第一次被访问时,Servlet被创建
可以配置执行Servlet的创建时机
在<servlet>标签下配置
1 第一次被访问时,创建
<load-on-startup>的值为负数
2 在服务器启动时,创建
<load-on-startup>的值为0或正整数
Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的
多个用户同时访问是,可能存在线程安全问题
解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要修改值
2 提供服务:执行service方法,执行多次
3 被销毁:执行destroy方法,只执行一次
Servlet被销毁时执行。服务器关闭时,Servlet被销毁
destroy方法在Servlet被销毁之前执行,一般用于释放资源
4 获取Servlet的配置对象:getServletConfig()
5 获取Servlet的一些信息,版本,作者,等等:getServletInfo()
Servlet3.0:
好处:
支持注解配置。可以不需要web.xml了
步骤:
1 创建JavaEE的项目,选择Servlet的版本3.0以上,可以不创建web.xml
2 定义一个类,实现Servlet接口
3 复写方法
4 在类上使用Servlet注解,进行配置
@webServlet("资源路径")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。