黑马程序员技术交流社区
标题:
Day_13_Tomcat&Servlet
[打印本页]
作者:
小北京
时间:
2018-12-29 16:12
标题:
Day_13_Tomcat&Servlet
web相关概念回顾
1.软件架构
1.c/s 客户端/服务器端
2.b/s 浏览器端/服务器端
2.资源分类:
1.静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源,静态资源可以直接被浏览器访问
如:html css .javascript
2.动态资源:每个用户访问相同资源后,得到的结果可能不一样,称为动态资源,动态资源被访问后,需要先转换为静态资源.
如:servlet. php .jsp
3.网络通信三要素
1.IP:
电子设备(计算机)在网络中的唯一标识.
2.端口:
应用程序在计算机中的唯一标识 0--65536.
3.传输协议:
规定了数据传输的规则.
1.基础协议:
1.tcp:安全协议,三次握手,速度稍慢
2.udp:不安全协议,速度快.
服务器:
安装了服务器软件的计算机.
服务器软件:
接收用户的请求,处理请求,做出响应.
web服务器软件:
接收用户的请求,处理请求,做出响应.
常用的web服务器软件
:1.tomact
2.weblogic
3.websphere
4.jboss
Tomcat:
web服务器软件
1. 下载:
http://tomcat.apache.org/
2.安装:解压压缩包即可.
注意:安装目录建议不要有中文和空格.
3.卸载:删除目录就行了.
4.启动:
bin/startup.bat ,双击运行该文件即可
访问:浏览器输入:http://localhost:800 回车访问自己
http://别人的ip:8080 访问别人
可能遇到的问题:
1.黑窗口一闪而过:
原因:没有正确配置JAVA_HOME环境变量
解决方案:正确配置JAVA_HOME环境变量
2.启动报错:
1.暴力:找到占用的端口号,并且找到对应的进程,杀死该进程.
2温柔:修改自身的端口号. tomcat默认端口号80,
好处:在访问时,就不用输入端口号.
5.关闭:
1.正常关闭:
bin/shutdown.bat
ctrl+c
2.强制关闭:
点击启动窗口x
6.静态项目和动态项目:
目录结构:
Java动态项目的目录结构
项目的根目录:
WEB-INF目录:
bin:存放执行文件
conf:配置文件
webapps:项目路径
classes目录:放置字节码文件的目录.
lib目录:放置依赖的jar包.
将Tomcat集成到IDEA中,并且创建JavaEE的项目,部署项目.
Servlet:
概念:运行在服务端的小程序
Servlet就是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则.
我们自定义一个类,实现Servlet接口,复写方法.
快速入门:
1.创建JavaEE项目.
2.定义一个类,实现Servlet接口.
3.实现接口中的抽象方法
xml开发:
4.配置Servlet
<!--配置Servlet-->
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cn.itcast.web.servlet.servletDemo1</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.tomact会将字节码文件加载进内存,并且创建其对象
5.调用方法
Servlet中的生命周期方法:
1.被创建:执行init方法,只执行一次
Servlet在默认的情况下,第一次被访问时,Servlet被创建.
2.service(): 每次通过访问就会被执行,会执行多次
3.destory():销毁之前执行,只会执行1次.
注解开发:
1.创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
2.定义一个类,实现Servlet接口
3.复写方法
4.在类上使用@webServlet注解,进行配置
@WebServlet("资源路径")
sevlet注意事项:
1.自定义Service只有第一次访问的时候才会创建
2.service是单例多线程被调用,所以会存在安全问题,在使用变量的时候使用局部变量能够解决线程安全问题.
3.让servlet在开启服务器的时候自动创建,在<servlet>标签中配置<load-on-startup>标签,值从6开启.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2