目录
一、Web
Web也称为万维网(www)是可以通过浏览器可以访问的网站。 JavaWeb是可以通过java来对web进行开发的一种技术。
Web服务器:负责解析 HTTP 协议,解析请求数据,并发送响应数据 。浏览器按照HTTP协议发送请求和数据,后台就需要一个Web服务器软件来根据 HTTP协议解析请求和数据,然后把处理结果再按照HTTP协议发送给浏览器
Web服务器软件有很多,我们课程中将学习的是目前最为常用的==Tomcat==服务器。
1.1 B/S架构
昨天我们已经初步了解b/s架构,简单来说B就是Browser是浏览器,前端运行场景(Html css JavaScript Vue) ,而S是Servlet服务器运行环境 Servlet SSM SpringBoot Mybatisplus。是一种架构模式。而B/S架构是易于维护升级的。服务器与客户端的三种传输格式 : html,xml,json。
1.2 静态资源,动态资源
1.2.1 静态资源
静态资源主要包含 HTML,CSS,JavaScript,图片等,主要负责展示。下面如例。
前端也存在服务器端中开发,作为结果返回给浏览器。浏览器只需要发送请求。Servlet接受请求,并处理请求,但要到数据库获得数据或更改数据后返回Servlet,包装成网页给浏览器,浏览器解析成文字呈现给我们。直接访问页面的就是静态资源。
1.2.2 动态资源
动态资源主要包括Servlet,JSP等主要负责逻辑处理。动态资源处理完后把结构交给静态资源来进行,动态资源和静态资源要结合一起使用。 动态资源根据用户的请求的不同返回不同的结果,因此需要有逻辑的处理
而访问servlet有请求的的就是动态资源。 下面如例。
二、数据库
数据库:主要负责数据的存储
2.1 访问流程:
(1)浏览器发送一个请求到服务端,去请求所需要的相关资源;
(2)资源分为动态资源和静态资源,动态资源可以是使用Java代码按照Servlet和JSP的规范编写的内容;
(3)在Java代码可以进行业务处理也可以从数据库中读取数据;
(4)拿到数据后,把数据交给HTML页面进行展示,再结合CSS和JavaScript使展示效果更好;
(5)服务端将静态资源响应给浏览器;
(6)浏览器将这些资源进行解析;
(7)解析后将效果展示在浏览器,用户就可以看到最终的结果。
三、HTTP协议
什么是HTTP协议?(HyperText Transfer Protocol)为超文本传输协议,规定了浏览器和服务器之间==数据传输的规则
3.1 HTTP协议特点
基于TCP协议:面向连接,安全应用层协议面向链接的三次握手
基于请求-响应模型的:一次请求对应一次响应
HTTP协议是无状态协议(每次请求-响应都是独立的)
HTTP协议面向连接,安全。而基于请求是一次请求对应一次响应。(请求和响应是一一对应关系),每次请求-响应都是独立的。缺点:不能共享数据。优点:速度快。浏览器发送请求给服务器,服务器响应数据给浏览器,这整个过程都需要遵守一定的规则,之前大家学习过TCP、UDP,这些都属于规则,这里我们需要使用的是 HTTP协议,这也是一种规则。
请求(三部分)和响应三部分:
3.2 HTTPS
HTTPS比HTTP更加安全 。
四、Servlet
4.1 servlet简介
Servlet是JavaWeb最为核心的内容,它是Java提供的一门==动态==web资源开发技术。 2、使用Servlet就可以实现,根据不同的登录用户在页面上动态显示不同内容。 Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现 Servlet接口,并由web服务器运行Servlet。
4.2 快速入门
创建Web项目 web-demo ,导入Servlet依赖坐标
创建:定义一个类,实现Servlet接口,并重写接口中所有方法,并在service方法中输 入一句话。
配置:在类上使用@WebServlet注解,配置该Servlet的访问路径 @WebServlet("/demo1")
访问:启动Tomcat,浏览器中输入URL地址访问该Servlet http://localhost:8088/web-demo/demo1
器访问后,在控制台会打印 servlet hello world~ 说明servlet程序已经成功运行。
/***
*1. 什么是Servlet:Servlet服务器端小应用程序 Server+applet
*2. Servlet 必须继承HttpServlet
* Servlet是一个特殊的类
* 特殊:
* 1.必须要生命周期三个方法
* 2.Tomcat 下 Servlet容器自动调用生命周期有三个方法
*/
@WebServlet("/demo01")// /是访问路径必须带/
public class ServletDemo extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException {
//System.out.println();-sout-类构造方法
System.out.println("生命周期初始化方法,只需调用一次即可");
System.out.println(config.getServletContext());
}
@Override
public void destroy() {
//des回车快捷方法
System.out.println("生命周期销毁方法,只需调用一次即可");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//serv快捷
System.out.println("生命周期可执行方法,可以一次请求,调用一次,生成应答结构结果");
}
***
* Servlet和HTTP协议联系在一起
*
*/
@WebServlet("/ServletDemo02")
public class ServletDemo02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet处理get请求");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("douPost处理post请求");
this.doGet(request,response);
}
}
下面是一些代码操作
@WebServlet("/ServletDemo03")//引入WebServlet
public class ServletDemo03 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String form=request.getParameter("form");
String form1=request.getParameter("form1");
String form2=request.getParameter("form2");
System.out.println(form);
System.out.println(form1);
System.out.println(form2);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
<!DOCTYPE html>
<html lang="en">
<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>
引用:
总结:
新的知识,吸收很费劲。理解的七零八落加油吧!
建议:
男吸收