1. 回顾第一天
- 快速回顾环境搭建
- 演示一个简单的输出"Hello JueJin!"
2. Servlet核心知识
-
Servlet生命周期
init()→service()→destroy()的调用时机 -
创建Servlet的两种方式
java
// 方式一:实现Servlet接口 public class MyServlet implements Servlet { ... } // 方式二:继承HttpServlet(更常用) public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) { resp.getWriter().write("GET请求处理"); } } -
web.xml配置 vs 注解配置
xml
<!-- web.xml配置示例 --> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.example.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>运行 HTML
java
// 注解配置(Servlet 3.0+) @WebServlet("/hello") public class HelloServlet extends HttpServlet { ... }
3. 处理HTTP请求
-
GET vs POST请求的区别
- GET:参数在URL可见,有长度限制,用于获取数据
- POST:参数在请求体,更安全,用于提交数据
-
获取请求参数
java
String username = req.getParameter("username"); String[] hobbies = req.getParameterValues("hobby"); -
响应输出
java
resp.setContentType("text/html;charset=utf-8"); // 解决中文乱码 PrintWriter out = resp.getWriter(); out.println("<h1>欢迎," + username + "!</h1>");
4. 初识JSP(可选)
-
JSP与Servlet的关系
JSP最终会被编译为Servlet,适合混合HTML与Java代码 -
简单示例:显示当前时间
jsp
<%@ page contentType="text/html;charset=UTF-8" %> <html> <body> <h2>当前时间: <%= new java.util.Date() %></h2> </body> </html>
5. 连接数据库(JDBC入门)
-
JDBC核心步骤
- 加载驱动:
Class.forName("com.mysql.cj.jdbc.Driver"); - 建立连接:
Connection conn = DriverManager.getConnection(url, user, password); - 执行SQL:
Statement或PreparedStatement - 处理结果集:
ResultSet - 关闭资源
- 加载驱动:
-
防止SQL注入
java
String sql = "SELECT * FROM users WHERE username=? AND password=?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, password); ResultSet rs = pstmt.executeQuery();
6. 实战:MVC模式初体验
-
MVC分层思想
- Model:数据层(如User类、DAO操作)
- View:视图层(JSP/HTML)
- Controller:控制层(Servlet处理请求)
-
实现用户登录功能
- Servlet接收表单参数
- DAO层查询数据库验证用户
- 返回登录成功/失败的页面
7. 总结与预告
- 今日重点
Servlet生命周期、请求处理、JDBC基础、MVC分层
Tips
- 遇到问题善用Debug工具(IDEA断点调试)
- 推荐阅读:《Head First Servlets and JSP》