1.web服务器软件
2.servlet入门学习
*Web相关概念回顾
1.软件架构
1.C/S:客户端/服务器端
2.B/S:浏览器/服务器端
2.资源分类
1.静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源
静态资源可以直接被浏览器解析
*html,css,javascript
2.动态资源:每个用户访问相同资源后,得到的结果可能不一样,称为动态资源
动态资源被访问后,需要被转换为静态资源,再返回到浏览器
*servlet/jsp,php asp ...
3.网络通信三要素
1.IP:电子设备(计算机)在网络中的的唯一标识
2.端口:应用程序在计算机中的唯一标识
0~65536
3.传输协议:规定了数据通信传输的规则
1.基础协议:
1.tcp协议:安全协议,三次握手,速度慢
2.udp:不安全协议。速度快
Web服务器软件
*服务器:安装了服务器软件的计算机
*服务器软件:接受了用户的请求,处理要求,做出响应
*web服务器软件:接受用户的请求,处理要求,做出响应
*在web服务器软件中,可以部署web项目 ,让用户通过浏览器来访问这些项目
*常见的web服务器软件:
*weblogic:oracle公司。大型的javaEE服务器,支持所有的javaEE规范
*webSphere:IBM公司。大型的javaEE服务器,支持所有的javaEE规范
*JBOSS:JBOSS公司。大型的javaEE服务器,支持所有的javaEE规范
*Tomcat:Apache基金组织,中小型的javaEE服务器,仅仅支持少量的JavaEE规范 servlet/jsp。开源的,免费的
*本机:
本地链接 IPv6 地址:
fe80::3df2:2a53:e96a:25cd%14
IPv4 地址 :
192.168.17.50
*Tomcat:web服务器软件
*访问:
*浏览器输入:
localhost:8080
ipv4地址:8080;
*可能遇到的问题:
1.黑窗口一闪而过:
原因:没有正确配置JAVA_HOME环境变量
*解决方案:正确配置JAVA_HOME环境变量即可
2.启动报错:
*解决方案:
1.找到占用的端口号,并且找到对应的进程,关闭该进程
cmd----> netstat-auto---->找到对应的端口号---->找到对应的PID----->关闭该进程
2.修改自身的端口号
conf/server.xml--->connector port="8080loh"
*关闭:
1.正常关闭
*bin/shutdown.bat
*ctrl+c
2.强制关闭
*点击窗口的关闭按钮
*配置:
*部署项目的方式
1.直接将项目放在webapps目录下即可
*/hello:项目的访问路径--->虚拟目录
*简化部署:将项目打成一个war包,再将war包放置到webapps目录下
2.配置conf/server.xml文件
在<Host>标签体中配置
<Context docBase=" 项目地址" path=“ 虚拟地址”>
*docbase:项目存放的路径
*path:虚拟目录
3.在cofn\Catalina\localhost创建任意名称的xml文件。在文件中编写 <Context docBase=" 项目地址">
*虚拟目录的地址就是文件的名称
*静态项目和动态项目:
*目录结构:
*java动态项目的目录结构:
---项目的根目录
---WEB INF目录
---web.xml:web项目的核心配置文件
---classes:复制了字节码文件的目录
---lib:放置依赖的jar包
*将Tomcat集合到 idea中,创建JAVAEE项目,部署项目
*servlet: server applet
*概念:运行在服务器端的小程序
*servlet就是一个接口,定义了java类被浏览器访问到(Tomcat识别)的规则
*自定义一个类,实现servlet接口,复写方法
*快速入门
1.创建JavaEE项目,
2.定义一个类,实现servlet接口
3.实现接口中的抽象方法
4.配置servlet
<!--配置Servlet-->
<servlet>
<servlet-name>demo1</servlet-name>
<servlet-class> Servlet.Servlet_01</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的创建时机
1.第一次被访问时,创建
*<load-on-startup>值为负数
2.在服务器启动时,创建
*<load-on-startup>值为0或者为正整数
-->
2.提供服务:执行service方法,执行多次
*每次访问时都会被执行一次
3.被销毁:执行destroy方法。执行一次
* Servlet被销毁时执行,在Servlet被销毁之前执行
*多个用户同时访问时,可能会存在安全问题
*解决:尽量不要在Servlet中定义成员变量,即使定义了成员变量,也不要为其赋值!
*Servlert3.0
*支持注解配置,可以不需要web.xml了
*步骤:
1.创建Java项目,选择Servlet版本3.0以上。可以不创建web.xml
2.定义一个类,实现Servet接口
3.复写方法
4.在类上使用@WebServlet,进行配置
*@WebServlet ("资源路径")
**IDEA与Tomcat的相关配置
IDEA会为每一个Tomcat部署的项目单独建立一个配置文件 |
|