Tom_cat 默认服务器编码iso-8859-1 ;
部署的三种方式 :
1. 直接将项目放到webapps目录下几颗
*/helle : 项目的访问路径--> 虚拟目录
*简化部署 ; 将项目打成一个war包,再将war包放置在webapps目录下.
war包会自动解压缩
2.配置conf/sever.xml文件
在<Host>标签体中配置
<Context docBase = "D:\helle" path="/hehe""/>
path :虚拟目录
3.在conf/catalina\locahost创建任意名称的xml文件,在文件中编写
*虚拟目录 : xml的文件名称
*静态项目和动态项目
*目录结构
*Java动态项目的目录结构
-- 项目的根目录
-- web_inf 目录
--web.xml : web项目的核心配置文件
--classes木 : 防止字节码文件的牡蛎
-- lib目录 放置jar包
*将TOMcat集成到idea中, 创建JAvaee的项目.
##Servlet : sever applet
*概念 : 运行在服务器端的小程序
*sevelet : 就是一个接口 ,定义了java类被浏览器访问到(tomcat识别)的规则 .
*将来我们自定义一个类, 实现Servlet ,复写方法 .
*快速入门 :
1 .创建JavaEE项目
2. 定义一个类 ,实现Severlet接口
3. 实现接口中的抽象方法
4 .配置sevelet
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>sevelet.demo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1</url-pattern>
</servlet-mapping>
*执行原理
1. 当服务器接收到客户端的请求后,会解析请求url路径,获取访问的Servlet`的资源路径
2.查找 web.xml文件,是否有对应的<url - pattern > 标签体内容.
3.如果有.则在找到对应的<Servlet - class> 全类名
4.tomcat 会将字节码文件加载进内存.并且创建其对象
5 .调用其方法
*servlet中的生命周期
1.被创建 : 执行init方法.只执行一次
*Servlet什么时候被创建
*默认情况下,第一次被访问时,Servlet被创建
*可以配置Servlet的创建时机
1,第一次被访问时.创建
<load-on-startup>值为负数
2.在服务器启动时,创建
<load-on-startup>的值为0或者正整数
*Servlet的init方式,只执行一次,说明Servlet在内存中只存在一个对象,Serlet是单列的
*多个用户同时访问时,可能存在线程安全问题
*解决 : 尽量不要Servlet中定义成员变量,即使定义了成员变量,也不要对其赋值.
2.提供服务 : 执行Service方法,执行多次
每次访问Servlet时,service都会被调用一次
3.被销毁 : 执行destroy 方法 .只执行一次
*Servlet被销毁时执行,服务器被关闭时.Servlet被销毁
*只有服务器正常关闭时间,才会执行destroy方法..
*destroy方式在Servlet销毁之前执行,一般用于释放资源/
*Servlet 3.0 :
*好处 :
*支持注解配置,可以不需要web.xml了
*步骤 :
1.创建JavaEE项目,选择Servlet的版本3.0以上,创建项目的时候可以不创建web.xml
2.定义一个类.实现Servlet接口
3.复写方法,.
4.在类上使用@Servlet注解进行配置.
*webServlet("资源路径")
##idea与tomcat的
1.idea会为每一个tomcat部署的项目单独建立一份配置文件.
*查看控制台的log : using catalina_base 目录
2.工作空间项目和 tomcat部署的web项目
*tomcat真正访问的是"tomcat部署的web项目","tomcat部署的web项目"对应着"工作项目空间"的web目录下的所有资源
3. 断点调试 :
使用"小虫子"启动 dubug启动 |
|