| 
 
| 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部署的项目单独建立一个配置文件
 | 
 |