实验一 Servlet与JSP技术——第一个用户登录模块
一、基础实验——Servlet与JSP基础开发
(一)实验目的
- 掌握 HttpServlet 的概念,相关 API 以及开发步骤;
- 掌握 JSP 技术的基本语法;
- 掌握 JSP 各隐含变量的使用方法;
- 掌握使用 Servlet 和 JSP 集成开发简单用户登录功能;
(二)基础知识与原理
- Servlet 是用于实现 Web 应用程序设计的 Java 技术解决方案,旨在扩展 Web 服务器的能力,它是由 Servlet 容器(例如:Tomcat)创建并管理。
- JSP(Java Server Pages)页面是包含 Java 代码和 HTML 标签的 Web 页面。 它 由 JSP 标签和 HTML 标签混合而成的 Web 页面,主要用于进行用户交互。
(三)实验内容及步骤
-
下载IDEA并创建JavaWeb项目(本次实验使用的是java15以及Tomcat 9.0.45)
-
配置tomcat
-
创建数据库(要求包含用户登录表)
-
创建数据库连接
导入jar包
配置连接池
<?xml version="1.0" encoding="utf-8" ?> <Context reloadable="true"> <Resource name="jdbc/zzy_first" type="javax.sql.DataSource" maxActive="4" maxIdle="2" username="root" maxWait="5000" driverClassName="com.mysql.cj.jdbc.Driver" password="1138154255" url="jdbc:mysql://localhost:3306/zzy_first?serverTimezone=GMT%2B8&useSSL=false" removeAbandoned="true" removeAbandonedTimeout="1" /> </Context>
-
编写登录JSP文件
<%-- Created by IntelliJ IDEA. User: YIYI Date: 2021/9/18 Time: 10:50 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录界面</title> </head> <body> <form method="post" action="loginservlet" onsubmit="return check()"> <table> <tr> <td>用户名:</td> <td> <input type="text" name="id" id = "username"> </td> </tr> <tr> <td>密 码:</td> <td><input type="password" name="pwd" id = "password"></td> </tr> </table> <input type="submit" value="提交" name="提交"> </form> <script language="JavaScript"> function check(){ var id = document.getElementById("username").value; var pwd = document.getElementById("password").value; if(id === ""){ alert("请填写用户名!"); return false; } if(pwd === "" || pwd.length < 6){ alert("密码格式错误!"); return false; } return true; } window.onload = function load(){ var error='<%=request.getAttribute("message")%>' if(error != 'null') alert(error); } </script> </body> </html>
-
创建UserBean
package zzy.Login.Bean; import java.io.Serializable; public class User implements Serializable { private String id; private String pws; public User() { } public User(String id, String pws) { this.id = id; this.pws = pws; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPws() { return pws; } public void setPws(String pws) { this.pws = pws; } }
-
创建Servlet
package zzy.Login.Controller; import zzy.Login.Bean.User; import zzy.Login.Dao.UserDao; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.util.ArrayList; @WebServlet(name = "LoginServlet") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter("id"