1073 字
5 分钟
Web基础知识

Web基础知识#

前后端集成开发#

前端程序(html\javascript\jquery\bootstrap)和后台程序(Servlet/springmvc)在一个项目中(服务器中),启动服务就同时前端和后台程序一起运行。前端程序负责进行人机交互、显示数据、部分数据逻辑处理,后端负责数据处理、业务逻辑处理、负责页面跳转。前端和后端的耦合度非常高、传输的内容包括了数据和html页面代码。

以登录页面为例:

image-001

前后端分离开发#

前端程序 和 后端程序 是两个单独的服务,前端程序负责数据展示、人机交互、跳转,后端负责数据处理、业务逻辑处理。前后端传输是json格式的数据,前端将json格式的数据发给后端,后端将处理结果的数据以json格式发给前端。优点:前后端没有耦合度,通过接口文档进行并行开发 。

image-002

MVC分层模式开发#

image-003

  1. View负责 显示数据,人机交互
  2. Controller控制器 :负责接收视图层的请求参数,调用模型层,将结果传给视图层 。前后端集成模式中,控制器要进行跳转,将html和数据发给视图层;前后端分离模式,控制器将结果数据发给视图层
  3. Model模型层:负责数据的处理,数据处理分为了业务数据处理和数据库数据处理,因此通常将Model层进行了分层,分为:service层(业务处理层) 和 Dao层(数据访问层)

ServletAPI#

提供了一套Web开发时使用的接口

  1. 添加pom依赖
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
  1. 搭建一个Servlet程序 : Servlet程序和一个URL形成映射,客户端向URL发送请求即可执行Servlet程序中的代
@WebServlet("/test")
public class TestController extends HttpServlet {
//当 服务器收到了 /test的请求时,就会自动执行service方法
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
//接收 请求参数
//调用模型层
//结果响应 回浏览器
System.out.println("客户端访问了/test,执行了TestController的service方法");
}
}
  1. HttpServletRequest对象

请求对象,请求中的数据都封装到这个对象中 ,当客户端向服务器发送一个请求时,就会创建request和response对象,客户端和服务器的请求响应结束时,request和response就会被销毁

  1. 获取请求方法
  2. 获取请求的URL
  3. 获取请求的上下文路径
  4. 获取请求头中的属性值
  5. 获取请求参数值 、获取相同名字的 多个请求参数值
  6. 设置、获取request的属性值 :request中封装了一个Map,可以将一些数据、对象存储到request的Map中,只要request对象不被销毁,这些数据、对象就存在于request中,或者在传递request时,这些数据、对象也会同时被传递

request.setAttribute(“name”,value) ; request.getAttribute(“name”);

  1. HttpServletResponse对象

    response对象是响应对象,只要将数据写入到response对象中,数据就会响应回客户端

    1. 向响应体中写数据
    2. 设置响应头数据
  2. HttpSession对象

    代表浏览器和服务器的一个会话对。这个对象也是存储在服务器端,用户第一次访问服务时,创建session,再次访问服务器时,使用的还是这个session,当在一段时间(20分钟)客户端没有和服务器产生任何的请求和响应,session被销毁

    通常可以向session中存储用户数据,每个页面都会用到的数据,可以存储到session中

//获取当前的session
HttpSession session = request.getSession();
session.setAttribute("test", "test");
session.getAttribute("test");
  1. Cookie对象

将一些数据存储到客户端,典型的应用是记住我(记住用户名及密码)

/*
向客户端响应cookie
Cookie cookie = new Cookie("username", "tom");
cookie.setMaxAge(3600);
response.addCookie(cookie);
Cookie cookie2 = new Cookie("password", "123456");
cookie.setMaxAge(3600);
response.addCookie(cookie2);*/
//从请求中获取Cookie数据
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
System.out.println(cookie.getName());
System.out.println(cookie.getValue());
}
}
  1. ServletContext对象

在web服务器启动时,创建ServletContext对象;在Web服务器关闭时,ServletContext对象被销毁。每个Web服务只有一个ServletContext对象,也具有 setAtrribute和getAttribute方法 ,通常将用户共享的数据存储到ServletContext中。

this.getServletContext().setAttribute("name","abcde");
Web基础知识
https://mizuki.mysqil.com/posts/5web基础知识/
作者
SuifengFlying
发布于
2026-07-28
许可协议
CC BY-NC-SA 4.0

Web基础

5 / 5

Related articles

部分信息可能已经过时

封面
示例歌曲
示例艺术家
封面
示例歌曲
示例艺术家
0:00 / 0:00