一、什么是JavaWeb?
JavaWeb 指使用Java技术解决Web开发领域问题的技术总和,基于B/S架构(Browser/Server,浏览器/服务器模式),实现动态网站、Web应用程序的开发。
核心技术组成
- Servlet:服务器端程序,处理HTTP请求的核心
- JSP(JavaServer Pages):动态网页技术,简化页面开发
- JDBC:Java数据库连接技术
- HTTP协议:浏览器与服务器通信的基础
- HTML/CSS/JavaScript:前端展示层技术
二、JavaWeb核心架构
1. 三层架构模式
层级 | 作用 | 对应技术 |
---|---|---|
表示层(View) | 用户交互界面 | JSP/HTML/Thymeleaf |
业务逻辑层(Service) | 处理业务逻辑 | Java类/Servlet |
数据访问层(DAO) | 数据库操作 | JDBC/MyBatis |
2. 请求处理流程
浏览器 → HTTP请求 → Web服务器(Tomcat)→ Servlet → Service → DAO → 数据库
↓
JSP/HTML ← 响应生成 ← 数据处理
三、核心组件详解
1. Tomcat服务器
- 作用:Web应用服务器,解析Servlet/JSP
- 重要目录:
/bin → 启动脚本(startup.bat/sh) /webapps → 部署项目的目录 /conf → 配置文件(server.xml修改端口)
配置示例(server.xml):
xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2. Servlet核心组件
生命周期方法:
java
public class HelloServlet extends HttpServlet {
// 初始化(只执行一次)
public void init() { ... }
// 处理GET请求
protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
resp.getWriter().write("Hello World!");
}
// 销毁时调用
public void destroy() { ... }
}
web.xml配置:
xml
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
3. JSP工作原理
- 本质:运行时被Tomcat转换为Servlet(查看
work
目录) - 九大内置对象:
jsp
<% request → 请求对象 response → 响应对象 session → 会话对象 out → 输出流对象 %>
示例代码:
jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title>时间展示</title>
</head>
<body>
当前时间:<%= new java.util.Date() %>
</body>
</html>
四、开发环境搭建
1. 基础工具
- IDE:IntelliJ IDEA(推荐)或 Eclipse
- JDK:JDK 8+
- 构建工具:Maven或Gradle
- 数据库:MySQL + Navicat
2. 项目结构规范
Project
├── src/main/java → Java源代码
├── src/main/resources → 配置文件
├── webapp → 前端资源
│ ├── WEB-INF → 受保护目录
│ │ └── web.xml → 部署描述符
│ └── index.jsp → 首页
└── pom.xml → Maven配置
五、MVC设计模式
核心思想
- Model(模型):数据与业务逻辑(Service + DAO)
- View(视图):用户界面(JSP/HTML)
- Controller(控制器):请求处理与调度(Servlet)
处理流程
- 用户通过视图发送请求
- 控制器接收并解析请求参数
- 调用模型处理业务逻辑
- 返回处理结果到视图层
- 视图渲染最终页面
六、常见问题FAQ
Q1:Servlet与JSP的区别?
- Servlet:以Java代码为主,适合处理业务逻辑
- JSP:HTML中嵌入Java代码,适合页面展示
Q2:如何修改Tomcat默认端口?
修改conf/server.xml
中的<Connector port="8080">
Q3:为什么会出现404错误?
- 未正确配置
web.xml
中的URL映射 - 请求路径与Servlet配置不匹配
- 项目未成功部署到Tomcat
七、学习路线建议
- 掌握JavaSE基础(尤其IO、多线程)
- 熟悉HTTP协议与网络通信
- 深入理解Servlet生命周期
- 学习JSP标签与EL表达式
- 掌握JDBC数据库操作
- 进阶学习框架(Spring MVC/Spring Boot
- 下一篇预告:《JavaWeb实战:用户登录功能完整实现》
- (包含Session管理、过滤器、密码加密等实战技巧)