Java Web开发基础学习
1. Java Web基础概念
1.1 Web开发基本原理
HTTP协议基础
HTTP协议是Web通信的基础,采用请求-响应模型,具有以下特点:
- 无状态协议,默认端口80 - 基于TCP/IP协议栈
- 定义GET/POST/PUT/DELETE等方法
- 包含请求头、请求体、响应头、响应体结构
客户端/服务器架构
经典的三层架构模式:
- 表示层:浏览器/客户端展示
- 逻辑层:服务器处理业务逻辑
- 数据层:数据库存取数据
Web容器作用
- 管理Servlet生命周期
- 协议支持(HTTP/HTTPS)
- 线程池管理
- 安全认证
- JSP编译支持
1.2 Java Web技术栈
Servlet体系结构
Servlet核心组件包括:
- javax.servlet.Servlet接口
- GenericServlet抽象类
- HttpServlet抽象类
- 请求/响应对象(HttpServletRequest/HttpServletResponse)
JSP运行机制
JSP生命周期阶段:
- 转换阶段(页面编译)
- 编译阶段(生成Servlet类)
- 执行阶段(调用_jspService方法)
MVC设计模式 MVC组件职责:
- Model:数据模型和业务规则
- View:展示层(JSP等)
- Controller:流程控制(Servlet等)
2. 开发环境搭建
2.1 基础工具安装
JDK配置
安装步骤:
- 下载对应版本JDK
- 配置环境变量(JAVA_HOME、PATH)
- 验证安装:java -version
Tomcat安装部署 配置要点:
- 解压即用,无需安装
- conf/server.xml配置端口
- bin/startup.sh启动服务
- webapps目录部署应用
IDE集成开发环境
推荐配置:
- Eclipse/IDEA集成Tomcat
- 自动热部署设置
- 调试环境配置
- Maven/Gradle集成
2.2 项目结构规范
WAR包标准结构 规范要求:
├── META-INF/
├── WEB-INF/
│ ├── web.xml
│ ├── classes/
│ └── lib/
└── 静态资源(js/css/images)
web.xml配置基础 核心配置项:
- <servlet>和<servlet-mapping>
- <filter>和<filter-mapping>
- <listener>
- <context-param>
- <session-config>
3. Servlet核心技术
3.1 Servlet生命周期
init()/service()/destroy() 方法调用时机:
- init():首次请求时调用一次
- service():每次请求都调用
- destroy():容器关闭时调用
3.2 核心API
HttpServletRequest 常用方法:
- String getParameter(String name)
- Object getAttribute(String name)
- HttpSession getSession()
HttpServletResponse 常用方法:
- PrintWriter getWriter()
- void setContentType(String type)
- void sendRedirect(String location)
ServletContext 主要功能:
- 应用全局共享
- getRealPath()获取物理路径
- 存储应用级属性
4. JSP开发实践
4.1 JSP基础语法
脚本元素(<% %>) 脚本元素类型:
- 声明:<%! 变量或方法声明 %>
- 脚本:<% Java代码 %>
- 表达式:<%= 表达式 %>
指令元素(<%@ %>) 常见指令:
- page:<%@ page language="java" %>
- include:<%@ include file="header.jsp" %>
- taglib:<%@ taglib uri="" prefix="c" %>
动作元素(jsp:) 常用动作:
4.2 内置对象
request/response对象
- request:封装客户端请求
- response:封装服务器响应
session对象 会话管理:
- setAttribute()
- getAttribute()
- getCreationTime()
5. MVC模式实现
5.1 分层架构设计
Model层实现 实现要点:
- 实体类设计
- DAO数据访问
- Service业务逻辑
View层组织 最佳实践:
- 使用模板技术 - 避免脚本代码
- 分离HTML/CSS/JS
Controller路由 设计模式:
- 前端控制器
- 命令模式
- RESTful风格
6. 进阶主题
6.1 状态管理
Cookie与Session 对比特点:
- Cookie:客户端存储,有大小限制
- Session:服务端存储,依赖Cookie/URL重写
6.2 过滤器与监听器
Filter链 工作流程:
- 预处理请求
- 传递给下一个Filter
- 后处理响应
6.3 安全基础
表单验证 验证策略:
- 客户端验证
- 服务端验证
- 重复提交防护
现代开发趋势
- JSP淡出:新项目已罕用JSP,本文4.x节仅作基础了解,不建议深入;若需服务器渲染,可转向 Thymeleaf、Freemarker 等现代模板引擎。
- 前后端分离:主流组合 Spring Boot + REST API + Vue/React 已成为行业标配,后续学习可直接进入 Spring Boot 生态,绕过传统 WAR 包与 JSP 时代。
7. Java Web学习路径图
graph TD
A[JavaSE基础] --> B[HTTP协议/Tomcat]
B --> C[Servlet核心API]
C --> D[JSP语法与内置对象]
D --> E[纯手工MVC实战]
E --> F[Filter/Listener/Session]
F --> G[web.xml与注解并存]
G --> H[Maven构建与WAR部署]
H --> I[Spring入门]
I --> J[Spring Boot+REST]
J --> K[前后端分离(Vue/React)]
K --> L[微服务/Cloud]
8. 结语
至此,Java Web 经典技术栈的“地基”已铺就:HTTP 协议、Servlet/JSP、MVC 三层、Filter/Session 与 web.xml 配置,掌握它们即可读懂遗留项目,也为后续直通 Spring Boot 与前后端分离架构奠定扎实根基。保持节奏,循序渐进,Java Web 世界自会豁然开朗。
默认评论
Halo系统提供的评论