Tomcat&Servlet基础学习

Tomcat&Servlet基础学习

1.web相关概念回顾
	1. 软件架构有:B/S模式 和 C/S模式
	2. 资源分类:
			1. **静态资源:**所有用户访问后,得到的结果都是一样的,称为静态资源(静态资源可以直接被浏览器解析)。*如: html,css,JavaScript*
			2. **动态资源:**每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。* 如: servlet/jsp,php,asp....*
					** 动态资源的访问需要转换成静态资源,再返回给浏览器才可被解析** 
	3.  网络通信三要素:IP、端口(0-65536)、传输协议(TCP/UDP)
2.Tomcat的启动
	1. bin/startup.bat,双击运行改文件即可
	2. 访问: http://IP地址:8080 回车访问
	**启动可能遇到的问题**
		1. 黑窗口一闪而过:
			*原因:没有正确配置JAVA_HOME环境变量*
			*解决方案:正确配置JAVA_HOME环境变量*
		2. 启动报错:
			*1. 暴力:找到占用的端口号,并且找到对应的进程,杀死该进程。*
				* netstat -ano 查看所有端口号*
			*2. 温柔:修改自身端口号。*
				* 进入conf/server.xml修改端口号*
				 <Connector port="8080" protocol="HTTP/1.1"
						   connectionTimeout="20000"
						   redirectPort="8443" />
				* 一般会将tomcat的默认端口号修改为80。80端口号为HTTP协议的默认端口号 *
					* 好处:访问时无需输入端口号 *
3.Tomcat的关闭

正常关闭
1. 运行bin/shutdown.bat
2. ctrl+c
强制关闭
点击窗口的 x

4.Tomcat的部署项目

1.直接将项目放到webapps目录下即可
访问:http://localhost/目录名/文件名
简化部署:将项目打包成war包,再将war包放置到webapps目录下,war包会自动解压缩
2.配置server.xml(了解即可,不会这样做)
在 标签体中配置

* docBase:项目存放的路径*
* path:虚拟目录*
3.通过conf\Catalina\localhost创建a.xml文件
在server.xml文件中编写docBase=“目录路径”
访问:http://localhost/a/hello.html 通过xml文件中编写文件路径就可以达到访问外部文件的目的
Java动态项目的目录结构:
– 项目根目录
– WEB-INF目录
– web.xml:web项目的核心配置文件
– classes目录:放置字节码文件的目录
– lib目录:放置依赖的jar包

Servelet

*概念:运行在服务器端的小程序 **
* Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则

未来需要自己自定义一个类,实现Servelet接口,复写方法。

配置Servlet
在web.xml中配置

	<!-- 配置Servlet -->
	<servlet>
		<servlet-name>demo1</servlet-name>
		<servlet-class>cn.web.servlet.ServletDemo1</servlet-class>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>demo1</servlet-name>
		<url-pattern>/demo1</url-pattern>
	</servlet-mapping>

web.xml配置时的执行原理:
1. 当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
2. 查找web.xml文件,是否有对应的 标签体内容。
3. 如果有,则再找到对应的全类名
4. tomcat会将字节码文件加载进内存,并且创建其对象
5. 调用其方法

Servlet中方法的执行次数
执行一次的方法:init方法 、destroy方法
执行多次的方法:service方法

Servlet的生命周期
Servlet什么时候被创建?
默认情况下,第一次被访问时,Servlet被创建
可以配置执行Servlet的创建时机
在标签下配置
1.第一次被访问时,创建
的值为负数
2.在服务器启动时,创建
的值为0或正整数
默认情况下为-1(第一次被访问时,Servlet被创建)

注意:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对其修改值,(init方法一般用于加载资源)。

Servlet3.0的好处
支持注解配置。可以不需要web.xml了。例如:@WebServlet(“资源路径”)

虚拟目录:项目的名称
资源路径:url的访问名称
Tomcat与IDEA的配置问题

  1. IDEA会为每一个tomcat部署的项目单独建立一份配置文件
    通过查看控制台输出log: Using CATALINA_BASE: “C:\Users\20576.IntelliJIdea2019.3\system\tomcat_day01_tomcat” 可以查找到
  2. 工作空间项目 和 tomcat部署的web项目
    tomcat正真访问的是"tomcat部署的web项目","tomcat部署的web项目"对应着"工作空间项目"的web目录的所有资源
    WEB-INF目录下的资源不能被浏览器直接访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值