一、网络通信三要素:
1.IP:电子设备(计算机)在网络中唯一标识
2.端口:应用程序在计算机中的唯一标识。0~65536
3.传输协议:规定了数据传输的规则
1.基础协议:
1.tcp:安全协议,三次握手。速度稍慢
2.udp:不安全协议。速度快
*web服务器软件:接收请求的用户,处理请求,做出响应
常见的java相关的web服务器软件:
*webLogic:oracle公司,大型的javaEE服务器,支持所有的JavaEE规范,收费的
*webSphere:IBM公司,大型的javaEE服务器,支持所有的JavaEE规范,收费的。
*Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。
*JavaEE:Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范
二、Tomcat:web服务器软件
1.查看本机地址:window+R,输入ipconfig
2.启动tomcat:双击bin目录下的startup.bat
3.关闭tomact:
1.强制关闭: 点击startup.bat窗口的×
2.正常关闭:1.在tomcat的bin目录下点击shutdown.bat
2.在startup.bat窗口中按ctrl+c
3.访问:浏览器输入:http://localhost:8080 回车访问(这是访问tomcat的网页)
httmp://别人的ip:8080(访问别人的网页)
4.启动报错:
1.暴力:去找到占用的端口号,并且找到对应的进程,杀死该进程
1.找到端口的PID,记下pid,然后在任务管理器中先点击进程,然后点击菜单的选项,选择前端显示,然后点击查看,选择选择列,然后将pid的那一行打上勾,然后在进程页面中就可以看到pid列了,查找与之相同的pid,然后点击右键,选择结束进程,这样就把占用的端口杀死了,然后再重新启动tomcat即可。
2.温柔:修改自身的端口号:在tomcat目录下的conf文件里找到server.xml这个文件,右键点击edit打开编辑修改,找到端口号相同的port(即connection port)里面的内容,然后将原来的8080修改成其他端口(随便即可),如果下面的redirectPort也被占用,那么也修改即可,将被占用的端口全部修改即可,然后重新启动tomcat即可。
*一般会将tomcat端口号修改成80,80端口号是http协议的默认端口号,其中的好处就是在访问时候不需要输入端口号(8080可以不用写)
5.配置
*部署项目的方式:
(1).直接将项目放在webapps目录下即可。
*/hello:项目的访问路径--->虚拟目录
*简单部署:压缩文件传输速度快,tomcat服务器没有关闭,那么这时候将压缩包复制到webapps目录下会自动解压,要删除则将war压缩包删除,则文件夹也自动删除。
(2).配置conf/server.xml文件,在<host>标签体内配置这一串内容,*docBase:项目存放路径 ,*path:虚拟目录 ,不建议这样部署
(3)在conf\catalina\localhost创建任意名称的xml文件。在文件中编写<Context docBase="D:\hello"/>
*虚拟目录的名称:xml文件的名称
6.静态项目和动态项目:
*目录结构:
*java动态项目的目录结构:
--项目的根目录:
--WEB-INF目录:
--web.xml:web项目的核心配置文件
--classes目录:放置字节码文件目录
--lib目录:放置依赖的jar包
*将Tomcat集成到IDEA中,并且创建JavaEE的项目,部署项目。
7.servlet:server applet
*概念:运行在服务器中的小程序
*servlet就是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则。
*将来我们自定义一个类,实现servlet接口,复写方法。
(2).快速入门:
1.创建一个JavaEE 的项目
2.定义一个类,类必须实现servlet接口(如下是servlet的5个接口,必须都实现)
3.实现接口中的抽象方法:提示自动生成
4. 配置servlet
*在web.xml中配置,内容如下:
5.修改虚拟目录:(如果虚拟目录是/,则在访问时候不需要写虚拟目录)
6.servlet执行原理:
(1)当服务器接受到客户端浏览器的请求后,会解析请求url路径,获取访问的servlet的资源路径
(2)查找web.xml文件,是否有对应的<url-pattern>标签体内容
(3)如果有,则在找到对应的<servlet-class>全类名
(4)tomcat会将字节码文件加载进内存,并且创建其对象
(5)调用其方法
7.servlet生命周期:
*(1) 被创建:执行init方法,只执行一次
*(2)提供服务:执行services方法,执行多次
*每次访问servlet时,service方法都会被调用一次
*(3)被销毁:执行destory方法,只执行一次
*servlet被销毁时执行。服务器关闭时,servlet被销毁。
*只有服务器正常关闭时,才会执行destory方法,在servle销毁之前执行destory方法,一般用于释放资源。
(4)getServletInfo() :获取servlet的一些信息、版本、作者等。
(5)getServletConfig() :获取ServletConfig对象,servletConfig:servlet的配置对象。
8.servlet3.0
(1)好处:
*支持注解配置,可以不需要web.xml
(2)步骤:
1.创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
2.定义一个类,实现servlet接口
3.复写方法
4.在类上使用@WebServlet注解,进行配置(只需要写访问路径urlpatterns)
9.IDEA与tomcat的相关配置