目录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
通过了解Java Web、tomcat、HTTP相关知识充分认识Servlet的三种方法,包括对Servle的特殊类的方法,与html页面联动通过网页输出到控制台上
1、Web
1.1 Web 概述
1、Web是全球网 也称为万维网,网站
2、Java Web就是用Java技术来解决相关Web互联网领域的技术栈
3、栈:限定仅在表尾进行插入和删除操作的线性表。(Java web技术栈)
1.2 Java Web技术栈
1.2.1 B/S架构
1、B/S 架构:Browser/Server,浏览器/服务器 架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web 资源,服务器把Web资源发送给浏览器即可。
2、B/S架构的好处:
易于维护升级:服务器端升级后,客户端无需任何部署就可以使用到新的版本。
1.2.2静态资源
1、静态资源主要包括:HTML、CSS、JavaScript、图片等,主要负责页面的展示。
2、由于内容都是静态的,这就会导致所有的人看到的内容将是一模一样
1.2.3动态资源
1、动态资源主要包含Servlet、JSP等,主要用来负责逻辑处理。
2、动态资源处理完逻辑后会把得到的结果交给静态资源来进行展示,动态资源和静态资源要结合一起使用。
3、动态资源根据用户的请求的不同返回不同的结果,因此需要有逻辑的处理
1.2.4数据库
1、数据库:主要负责数据的存储。
2、访问流程:
(1)浏览器发送一个请求到服务端,去请求所需要的相关资源;
(2)资源分为动态资源和静态资源,动态资源可以是使用Java代码按照Servlet和JSP的规范编写的内容;
(3)在Java代码可以进行业务处理也可以从数据库中读取数据;
(4)拿到数据后,把数据交给HTML页面进行展示,再结合CSS和JavaScript使展示效果更好;
(5)服务端将静态资源响应给浏览器;
(6)浏览器将这些资源进行解析;
(7)解析后将效果展示在浏览器,用户就可以看到最终的结果。
1.2.5 HTTP协议
1、HTTP协议:主要定义通信规则
2、浏览器发送请求给服务器,服务器响应数据给浏览器,这整个过程都需要遵守一定的规则,之前大家学习过TCP、UDP,这些都属于规则,这里我们需要使用的是 HTTP协议,这也是一种规则
1.2.6 Web服务器(tomcat)
1、Web服务器:负责解析 HTTP 协议,解析请求数据,并发送响应数据
2、浏览器按照HTTP协议发送请求和数据,后台就需要一个Web服务器软件来根据 HTTP协议解析请求和数据,然后把处理结果再按照HTTP协议发送给浏览器
3、Web服务器软件有很多,我们课程中将学习的是目前最为常用的==Tomcat==服务器
2.HTTP
2.1简介
HTTP概念:HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间
==数据传输的规则==。
数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。(html 、xml,JSON)
必会面试题
1、关于HTTP协议
HyperText Transfer Protocl,超文本传输协议,规定了浏览器和服务器之间==数据传输的规则==
2、HTTP协议特点:
1)基于TCP协议:面向连接,安全应用层协议
面向链接的三次握手();
2)基于请求-响应模型的:一次请求对应一次响应
3)HTTP协议是无状态协议(每次请求-响应都是独立的)
2.2请求数据格式
2.2.1格式介绍
请求数据总共分为三部分内容,分别是==请求行==、==请求头==、==请求体==
3、Servlet
3.1 servlet简介
1、Servlet是JavaWeb最为核心的内容,它是Java提供的一门==动态==web资源开发技术。
2、使用Servlet就可以实现,根据不同的登录用户在页面上动态显示不同内容。
3、Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现 Servlet接口,并由web服务器运行Servlet
4、Servlet对象在什么时候被创建的?
第一次访问的时候被创建,
3.2 编写一个Servlet类具体的实现步骤为:
1. 创建Web项目 web-demo ,导入Servlet依赖坐标
2. 创建:定义一个类,实现Servlet接口,并重写接口中所有方法,并在service方法中输 入一句话
3. 配置:在类上使用@WebServlet注解,配置该Servlet的访问路径
@WebServlet("/demo1")
4. 访问:启动Tomcat,浏览器中输入URL地址访问该Servlet
http://localhost:8088/web-demo/demo1
5. 器访问后,在控制台会打印 servlet hello world~ 说明servlet程序已经成功运行。
3.3 Web固定结构
Java:类-- 动态资源(.java):
com.yq78.servlet01:包-类
webapp :静态资源
WEB-INF 编译之后类
Index.jsp—主页,入口界
3.4Servlet生命周期中涉及到的三个方法
涉及到三个方法,分别是 init()、service()、destroy()
1、init方法在Servlet对象被创建的时候执行,只执行1次
2、service方法在Servlet被访问的时候调用,每访问1次就调用1次
3、3.destroy方法在Servlet对象被销毁的时候调用,只执行1次
public void init(ServletConfig config) throws ServletException {
//System.out.println();---快捷键:sout-回车
System.out.println("生命周期初始化方法,只需要调用一次即可");
System.out.println(config.getServletName());
}
@Override
public void destroy() {
System.out.println("生命周期销毁方法,只需要调用一次即可");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("生命周期可执行方法,可以一次请求,调用一次,生成应答结果");
}
Servlet特殊类的原始接口是 Servlet.class
Servlet继承HttpServlet
HttpServlet 继承GenericServlet
3.5执行流程
浏览器发出 http://localhost:8080/web-demo/demo1 请求,从请求中可以解析出 三部分内容,分别是 localhost:8080 、 web-demo 、 demo1
根据 localhost:8080 可以找到要访问的Tomcat Web服务器
根据 web-demo 可以找到部署在Tomcat服务器上的web-demo项目
根据 demo1 可以找到要访问的是项目中的哪个Servlet类,
根据@WebServlet后面的值进行匹配
3.6体系结构
主要代码:
Servlet特殊类
public class ServletDemo03 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String info=request.getParameter("form");
String info1=request.getParameter("form1");
String info2=request.getParameter("form2");
System.out.println(info);
System.out.println(info1);
System.out.println(info2);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
html代码:
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="ServletDemo03" method="post">
省:<input type="text" name="form">
市:<input type="text" name="form1">
区:<input type="text" name="form2">
<input type="submit">
</form>
</body>
</html>
总结
通过对Servlet的学习,也了解到了Java web是用Java技术来解决相关Web互联网领域的技术栈,
B/S 架构易于维护升级,静态资源主要包括:HTML、CSS、JavaScript、图片;HTTP协议是超文
本传输协议,规定了浏览器和服务器之间==数据传输的规则==主要特点为:基于TCP协议:面向连
接,安全应用层协议;基于请求-响应模型的:一次请求对应一次响应;HTTP协议是无状态协议
(每次请求-响应都是独立的)。以及包括Servlet生命周期的三个方法分别是 init()、service()、
。destroy()。