什么是javaWeb?
Web:全球广域网,也称万维网(www),能够通过浏览器访问的网站
javaWeb:是用java技术来解决相关web互联网领域的技术栈
javaWeb 技术栈
B/S 架构:Browsser / Server,浏览器/服务器架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据存储在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可
好处:易于维护升级:服务器端升级后,客户端无需任何部署就可以使用到最新的版本
静态资源:HTML,CSS,JavaScript,图片等 负责页面展示
动态资源:Servlet,JSP等 负责逻辑处理
数据库:负责存储数据
HTTP协议:定义通信规则
web服务器:负责解析HTTP协议,解析请求数据,并发送响应数据
HTTP
概念:超文本传输协议,规定了浏览器和服务器之间数据传输的规则
HTTP协议特点:
1、基于TCP协议:面向连接,安全
2、基于请求-响应模型的:一次请求一次响应
3、HTTP协议是无状态的协议:对于事务处理没有记忆能力。没吃请求-响应都是独立的。
缺点:多次请求间不能共享数据。java中使用会说话技术(Cookie、Session)来解决这个问题
优点:速度快
HTTP-请求数据格式
请求数据分为3部分:
1)请求行:请求数据的第一行。其中GET表示请求方式,/ 表示请求资源路径,HTTP/1.1表示协议版本
2)请求头:第二行还是,格式为key : value形式。
3)请求体:POST请求的最后一部分,存放请求参数
HTTP-响应数据格式
响应数据分为3个部分
1)响应头:响应数据的第一行。其中HTTP/1.1表示协议版本,200表示响应状态码,OK表示状态描述
2)响应头:第二行还是,格式为key : value形式。
3)响应体:最后一部分,存放响应数据
Web服务器
web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷。主要功能是“提供网上学习浏览服务”
Tomcat
概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支出Servelet / JSP 少量JavaEE规范。
JavaEE:java Enterprise Edition,java企业版。指java企业级开发的技术规范总和。包含13项技术规范:JDBC,JNDI,EJB,JSP,Servlet,XML,Java IDL,JTA,JavaMail,JAF
Tomcat - 基本使用
配置:
1、修改启动端口号:conf / server.xml
注:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则寄来大波纹Tomcat时,将不用输入端口号
启动时可能出现的问题:
1、端口号冲突:找到对应程序,将其关闭掉
2、启动窗口一闪而过:检查JAVA_HOME环境变量是否正确配置
Tomcat - 部署项目
Tomcat部署项目:
将项目放置到webapps目录CIA,即部署完成
一般JavaWeb项目会被打成war包,然后将war包放到webapps目录下,Tomcat会自动解压缩 war 文件
IDEA中创建Maven Web项目
IDEA中创建 Maven Web项目
IDEA中使用Tomcat - 集成本地 Tomcat
第一种:
第二种:
Servlet
Servlet 是Java提供的一门动态web资源开发技术
Servlet 是JavaEE 规范之一,其实就是一个接口,寄来我们需要定义Servlet 类实现Servlet接口,并由web服务器运行Servlet
Servlet 快速入门、
Servlet执行流程
Servlet 生命周期
对象的生命周期指的是一个对象从被创建到被销毁的整个过程
Servlet 运行在Servle 容器(web服务器)中,其生命周期由容器来管理,分为4个阶段:
1、加载实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象
2、初始化:在Servlet 实例化之后,容器将调用Servlet的init()方法初始化这个对象完成一些如加载配置文件、创建连接等初始化的工作。该方法只调用一次
3、请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的servlet()方法对请求进行处理。
4、服务终止:当需要释放内存或容器关闭时,容器就会调用Servlet实例的destroy()方法完成资源的释放。在destory()方法调用之后,容器会释放这个Servlet实例,改实例随后就会被Java的垃圾收集器所回收
Servlet 方法介绍
初始化方法,在Servlet被创建时执行,只执行一次
void init(ServletConfig config)
提供服务方法,每次Servlet被访问,都会调用该方法
void service(ServletRequest req, ServletResponse rep)
销毁方法,当Servlet被销毁时,调用该方法。在内存释放或服务器关闭时摧毁Servlet
void destory()
获取ServletConfig对象
ServletConfig getServletConfig()
获取Servlet信息
String getServletInfo()
一、HttpServlet使用步骤
1、继承HttpServlet
2、重写doGet 和 doPost
二、HttpServlet 原理
获取请求方式,并根据不同的请求方式调用不同的doXXX方法
Servlet url Pattern配置
Servlet 要被访问,必须配置其访问路径(urlPattern)
1、一个Servlet,可以配置多个urlPattern
@WebServlet(urlPatterns={"/demo1","/demo2"})
2、urlPattern 配置原则
1、精准匹配 @WebServlet(" /user/select ")
2、目录匹配 @WebServlet(" /user/* ")
3、扩展名匹配 @WebServlet("*.do")
4、任意匹配 @WebServlet(" / ") @WebServlet(" /* ")
/ 和 /* 区别:
当我们的项目中Servlet 配置了 “/”,会覆盖掉tomcat中的DefaultServlet,当其他的url-pattern 都匹配不上是都会走这个Servlet
当我们的项目中配置了“、*”,意味这匹配访问路径
优先级:
精确路径 > 目录路径 > 扩展名路径 > /* > /