Java Web基础

Java Web 是指使用 Java 语言开发 Web 应用程序的一系列技术和框架的总称。Java Web 涉及到前端和后端的知识,通常包括 Servlet、JSP、JSTL、MVC 模式、Web 容器、Spring 框架等。以下是 Java Web 相关的完整知识点总结:

一、基本概念

1. Web 应用架构
  • 客户端-服务器架构:Web 应用程序通常遵循客户端-服务器模型,客户端通过浏览器向服务器发送请求,服务器处理请求并返回响应。
  • HTTP 协议:Hypertext Transfer Protocol,是 Web 通信的基础协议。理解 HTTP 的请求方法(GET、POST、PUT、DELETE)、状态码(200、404、500)和头信息非常重要。
2. Web 容器
  • Servlet 容器:如 Apache Tomcat、Jetty 等,负责管理 Servlet 的生命周期、处理 HTTP 请求和响应。
  • 应用服务器:如 JBoss、GlassFish,不仅支持 Servlet 容器,还支持企业级功能如 EJB、JMS 等。

二、核心技术

1. Servlet
  • Servlet 基本概念:Servlet 是 Java EE 的一种服务器端组件,用于处理客户端请求并生成动态响应。
  • Servlet 生命周期init() 初始化,service() 处理请求,destroy() 销毁。
  • 请求与响应对象HttpServletRequestHttpServletResponse 用于处理请求数据和生成响应内容。
  • Session 与 CookieHttpSession 用于在客户端和服务器之间维护会话状态,Cookie 用于在客户端存储小块数据。
2. JSP (JavaServer Pages)
  • JSP 基本概念:JSP 是一种基于 HTML 和 Java 的技术,用于创建动态 Web 内容。它可以嵌入 Java 代码来生成动态内容。
  • JSP 生命周期:JSP 页面首先被编译为 Servlet,之后与 Servlet 类似,具有 init()_jspService()destroy() 生命周期。
  • JSP 标签库:如 JSTL(JavaServer Pages Standard Tag Library),提供常用功能如条件判断、循环、格式化等,减少 JSP 页面中直接嵌入的 Java 代码。
  • 表达式语言(EL):简化 JSP 页面中的数据访问和展示,使用 ${} 语法直接访问 JavaBean 属性或请求作用域中的数据。
3. MVC 模式
  • 模型-视图-控制器(MVC):一种分层设计模式,将应用程序分为模型层(数据逻辑)、视图层(用户界面)和控制器层(业务逻辑)。
  • Servlet 作为控制器:Servlet 通常用作控制器,处理请求并调度到适当的 JSP 视图。
  • JavaBean 作为模型:JavaBean 用于封装应用程序的数据逻辑,通常通过 POJO(Plain Old Java Object)实现。

三、高级技术

1. 过滤器(Filter)
  • 概念:Filter 是一种用于在请求到达 Servlet 前或响应发送到客户端前对请求或响应进行过滤的组件。
  • 应用场景:可以用于身份验证、日志记录、字符编码设置等。
  • 过滤链:多个 Filter 可以按顺序执行,形成过滤链。
2. 监听器(Listener)
  • 概念:Listener 是一种用于监听 Web 应用程序中的事件(如请求创建、会话销毁、上下文初始化等)的组件。
  • 常用 Listener:如 HttpSessionListenerServletContextListener,用于监听会话和应用程序的生命周期事件。
3. 会话管理
  • Session 管理:使用 HttpSession 对象在客户端和服务器之间维护会话状态。通常会在 Session 中存储用户信息。
  • Cookie 管理:通过 Cookie 在客户端存储会话信息或其他小型数据。
  • URL 重写:在 Cookie 禁用的情况下,可以通过 URL 重写来实现 Session 追踪。

四、Spring MVC 框架

1. 基本概念
  • Spring MVC:Spring 框架的一个模块,提供了基于 MVC 模式的 Web 应用开发支持。
  • DispatcherServlet:Spring MVC 的核心组件,用于将请求分发到适当的控制器。
2. 控制器
  • 控制器类:使用 @Controller 注解标记类,使用 @RequestMapping 注解映射请求 URL 到特定方法。
  • 处理请求:通过方法参数注入 HttpServletRequestHttpServletResponseModel@RequestParam 等,实现请求处理和数据传递。
3. 视图解析
  • 视图解析器:配置 InternalResourceViewResolver,用于将逻辑视图名解析为具体的 JSP 文件路径。
  • 视图技术:除了 JSP,Spring MVC 还支持其他视图技术,如 Thymeleaf、FreeMarker、Velocity 等。
4. 数据绑定与验证
  • 数据绑定:使用 @ModelAttribute 或直接将请求参数绑定到 JavaBean 对象上。
  • 数据验证:使用 @Valid 注解结合 Hibernate Validator 进行表单数据验证,使用 BindingResult 接收验证结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值