慈溪做网站哪家好,wordpress回到顶端插件,遨翔网站建设,网站界面设计应该遵循的原则文章目录 一、纯JSP方式实现用户登录功能#xff08;一#xff09;实现思路1、创建Web项目2、创建登录页面3、创建登录处理页面4、创建登录成功页面5、创建登录失败页面6、编辑项目首页 #xff08;三#xff09;测试结果 二、JSPServlet方式实现用户登录功能#xff08;一… 文章目录 一、纯JSP方式实现用户登录功能一实现思路1、创建Web项目2、创建登录页面3、创建登录处理页面4、创建登录成功页面5、创建登录失败页面6、编辑项目首页 三测试结果 二、JSPServlet方式实现用户登录功能一实现思路二实现步骤1、创建Web项目2、创建登录页面3、创建登录处理程序4、创建登录成功页面5、创建登录失败页面6、编辑项目首页 三测试结果 三、JSPServletDB方式实现用户登录功能一实现思路二实现步骤1、创建数据库2、创建用户表3、创建Web项目4、创建用户实体类5、添加数据库驱动程序6、创建数据库连接管理工具类7、创建用户数据访问类8、测试用户数据访问类 四、采用MVC模式实现用户注册功能1、创建Web项目2、创建内容 一、纯JSP方式实现用户登录功能
一实现思路
登录页面login.jsp输入用户名和密码后跳转到登录处理页面doLogin.jsp进行业务逻辑处理登录成功跳转到登录成功页面success.jsp否则跳转到登录失败页面failure.jsp。 二实现步骤
1、创建Web项目 创建Java Enterprise项目添加Web Application功能 设置项目名与保存位置 单击【Finish】按钮 在项目结构窗口里修改Artifact名 - LoginDemo01 编辑服务器配置重新部署项目
2、创建登录页面
登录页面 - login.jsp 原代码
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitle用户登录/title
/head
body
h3 styletext-align: center用户登录/h3
form actiondoLogin.jsp methodposttable border1 cellpadding10 stylemargin: 0px autotrtd aligncenter账号/tdtdinput typetext nameusername//td/trtrtd aligncenter密码/tdtdinput typepassword namepassword//td/trtr aligncentertd colspan2input typesubmit value登录/input typereset value重置//td/tr/table
/form
/body
/html3、创建登录处理页面
登录处理页面 - doLogin.jsp 原代码
%// 获取登录表单数据String username request.getParameter(username);String password request.getParameter(password);// 判断登录是否成功if (username.equals(易烊千玺) password.equals(123456)) {// 跳转到登录成功页面传递用户名response.sendRedirect(success.jsp?username username);} else {// 跳转到登录失败页面传递用户名response.sendRedirect(failure.jsp?username username);}
%4、创建登录成功页面
登录成功页面 - success.jsp 原代码
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitle登录成功/title
/head
body
h3 styletext-align: center恭喜%request.getParameter(username)%登录成功/h3
/body
/html5、创建登录失败页面
登录失败页面 - failure.jsp 原代码
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitle登录失败/title
/head
body
h3 styletext-align: center遗憾%request.getParameter(username)%登录失败/h3
/body
/html6、编辑项目首页
项目首页 - index.jsp 原代码
% page contentTypetext/html;charsetUTF-8 languagejava %
htmlheadtitle首页/title/headbodyh1 stylecolor: red; text-align: center纯JSP方式实现用户登录成功能/h1h3 styletext-align: centera hreflogin.jsp跳转到登录页面/a/h3/body
/html
三测试结果 启动服务器显示首页 单击【跳转到登录页面】超链接 输入正确的用户名和密码易烊千玺123456 单击【登录】按钮跳转到登录成功页面 返回登录页面输入错误的用户名或密码 单击【登录】按钮跳转到登录失败页面
二、JSPServlet方式实现用户登录功能
一实现思路
登录页面login.jsp输入用户名和密码后跳转到登录处理程序LoginServlet进行业务逻辑处理登录成功跳转到登录成功页面success.jsp否则跳转到登录失败页面failure.jsp。
二实现步骤
1、创建Web项目 创建Java Enterprise项目添加Web Application功能 设置项目名与保存位置 单击【Finish】按钮 在项目结构窗口里修改Artifact名 - LoginDemo02 编辑服务器配置重新部署项目 切换到【Server】选项卡
2、创建登录页面
登录页面 - login.jsp原代码
% page contentTypetext/html;charsetUTF-8 languagejava %
htmlheadtitle用户登录/title/headbodyh3 styletext-align: center用户登录/h3form actionlogin methodposttable border1 cellpadding10 stylemargin: 0px autotrtd aligncenter账号/tdtdinput typetext nameusername//td/trtrtd aligncenter密码/tdtdinput typepassword namepassword//td/trtr aligncentertd colspan2input typesubmit value登录/input typereset value重置//td/tr/table/form/body
/html3、创建登录处理程序
创建net.xyx.serlvet包在包里创建LoginServlet类
package net.xyx.servlet;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 java.io.IOException;
import java.net.URLEncoder;WebServlet(name LoginServlet, urlPatterns /login)
public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 设置请求对象字符编码格式request.setCharacterEncoding(utf-8);// 获取登录表单数据String username request.getParameter(username);String password request.getParameter(password);// 判断登录是否成功if (username.equals(无心剑) password.equals(903213)) {// 采用重定向跳转到登录成功页面response.sendRedirect(success.jsp?username URLEncoder.encode(username, utf-8));} else {// 采用重定向跳转到登录失败页面response.sendRedirect(failure.jsp?username URLEncoder.encode(username, utf-8));}}protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}
}4、创建登录成功页面
登录成功页面 - success.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
htmlheadtitle登录成功/title/headbodyh3 styletext-align: center恭喜%request.getParameter(username)%登录成功/h3/body
/html5、创建登录失败页面
登录失败页面 - failure.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
htmlheadtitle登录失败/title/headbodyh3 styletext-align: center遗憾%request.getParameter(username)%登录失败/h3/body
/html6、编辑项目首页
项目首页 - index.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
htmlheadtitle首页/title/headbodyh1 stylecolor: red; text-align: centerJSPServlet方式实现用户登录功能/h1h3 styletext-align: centera hreflogin.jsp跳转到登录页面/a/h3/body
/html三测试结果 启动服务器显示首页 单击【跳转到登录页面】超链接 输入正确的用户名和密码易烊千玺001128 单击【登录】按钮跳转到登录成功页面 返回登录页面输入错误的用户名或密码 单击【登录】按钮跳转到登录失败页面
三、JSPServletDB方式实现用户登录功能
一实现思路
总体上采用MVC架构。登录页面login.jsp输入用户名和密码后跳转到登录处理程序LoginServlet进行业务逻辑处理调用服务层服务层调用数据访问层DAO连接数据库查询数据库以此判断是否登录成功。登录成功跳转到登录成功页面success.jsp否则跳转到登录失败页面failure.jsp。 MVC 是 Model、View 和 Controller 的缩写分别代表 Web 应用程序中的 3 种职责。
二实现步骤
1、创建数据库
创建数据库 - test
单击【确定】按钮
2、创建用户表
创建用户表结构 - t_user
3、创建Web项目 创建Java Enterprise项目添加Web Application功能 设置项目名与保存位置 单击【Finish】按钮 在项目结构窗口里修改Artifact名 - LoginDemo03 编辑服务器配置重新部署项目 切换到【Server】选项卡 4、创建用户实体类
创建net.xyx.bean包然后在包里创建User类跟用户表t_user对应简称ORM
package net.xyx.bean;import java.util.Date;/*** 功能用户实体类* 作者xyx* 日期2023年05月19日*/
public class User {private int id;private String username;private String password;private String telephone;private Date registerTime;public int getId() {return id;}public void setId(int id) {this.id id;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}public String getTelephone() {return telephone;}public void setTelephone(String telephone) {this.telephone telephone;}public Date getRegisterTime() {return registerTime;}public void setRegisterTime(Date registerTime) {this.registerTime registerTime;}Overridepublic String toString() {return User{ id id , username username \ , password password \ , telephone telephone \ , registerTime registerTime };}
}
5、添加数据库驱动程序
在WEB-INF目录下创建lib目录添加数据库驱动程序将数据库驱动程序jar包作为库添加到项目 6、创建数据库连接管理工具类
创建net.xyx.dbutils包在包里创建ConnectionManager类
package net.xyx.dbutils;import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;/*** 功能数据库连接管理类* 作者xyx* 日期2020年06月05日*/
public class ConnectionManager {private static final String DRIVER com.mysql.jdbc.Driver; // 数据库驱动程序private static final String URL jdbc:mysql://localhost:3306/student/test?useSSLfalse; // 数据库统一资源标识符private static final String USER root; // 数据库用户private static final String PASSWORD 1; // 数据库密码//私有化构造方法拒绝实例化private ConnectionManager() {}/*** 获取数据库连接静态方法** return 数据库连接对象*/public static Connection getConnection() {// 定义数据库连接Connection conn null;try {// 安装数据库驱动程序Class.forName(DRIVER);// 获取数据库连接conn DriverManager.getConnection(URL, USER, PASSWORD);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}// 返回数据库连接return conn;}/*** 关闭数据连接静态方法** param conn*/public static void closeConnection(Connection conn) {// 判断数据库连接是否非空if (conn ! null) {try {// 判断连接是否未关闭if (!conn.isClosed()) {// 关闭数据库连接conn.close();}} catch (SQLException e) {e.printStackTrace();}}}/*** 主方法测试两个静态方法** param args*/public static void main(String[] args) {// 获取数据库连接Connection conn getConnection();// 判断数据库连接是否成功if (conn ! null) {JOptionPane.showMessageDialog(null, 恭喜数据库连接成功);} else {JOptionPane.showMessageDialog(null, 遗憾数据库连接失败);}// 关闭数据库连接closeConnection(conn);}
}7、创建用户数据访问类
在net.xyx根包里创建dao子包然后在子包里创建UserDao类
package net.xyx.dao;import net.huawei.bean.User;
import net.huawei.dbutils.ConnectionManager;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;/*** 功能用户数据访问类* 作者xyx* 日期2023年05月19日*/
public class UserDao {/*** 用户登录方法* param username* param password* return 用户对象非空登录成功否则登录失败*/public User login(String username, String password) {// 声明用户对象User user null;// 获取数据库连接Connection conn ConnectionManager.getConnection();try {// 定义SQL字符串String strSQL SELECT * FROM t_user WHERE username ? AND password ?;// 创建预备语句对象PreparedStatement pstmt conn.prepareStatement(strSQL);// 设置占位符pstmt.setString(1, username);pstmt.setString(2, password);// 执行查询返回结果集ResultSet rs pstmt.executeQuery();// 判断结果集是否为空if (rs.next()) {// 创建用户对象user new User();// 利用当前记录字段值来设置用户对象属性user.setId(rs.getInt(id));user.setUsername(rs.getString(username));user.setPassword(rs.getString(password));user.setTelephone(rs.getString(telephone));user.setRegisterTime(rs.getTimestamp(register_time));}} catch (SQLException e) {System.err.println(e.getMessage());} finally {// 关闭数据库连接ConnectionManager.closeConnection(conn);}// 返回用户对象return user;}
}
8、测试用户数据访问类
在net.xyx根包里创建test子类在子包里创建TestUser
package net.xyx.test;import net.xyx.bean.User;
import net.xyx.dao.UserDao;
import org.junit.Test;/*** 功能测试用户数据访问类* 作者xyx* 日期2023年05月19日*/
public class TestUserDao {Testpublic void testLogin() {String username 无心剑;String password 12345;// 创建用户数据访问对象UserDao userDao new UserDao();// 调用登录方法返回用户对象User user userDao.login(username, password);// 判断用户登录是否成功if (user ! null) { // 成功System.out.println(恭喜用户[ username ]登录成功~);} else { // 失败System.out.println(遗憾用户[ username ]登录失败~);}}
}
修改用户名和密码再次运行程序提示登录失败
四、采用MVC模式实现用户注册功能
1、创建Web项目
创建Java Enterprise项目添加Web Application功能 设置项目名与保存位置 在项目结构窗口里修改Artifact名 - register 编辑服务器配置重新部署项目
2、创建内容 首页 注册界面 随后注册成功和失败都会弹出相应的界面