web MVC模式实现用户登录

Jsp+Servlet+JavaBean

MVC:开发模式

M:Model 模型层 —-> JavaBean

V:View 视图层 —-> Jsp

C:Controller 控制层 —-> Servlet

分层思想:强内聚,低耦合

Java代码部分框架图

在这里插入图片描述


jsp部分框架图

在这里插入图片描述
区别于原来的项目使用JavaBean和jsp实现用户登录;
在jsp中写java代码还是较为鸡肋,不方便开发大型项目;
所以采用mvc模式进行开发,以后jsp上不再写java代码,方便项目管理,也方便后续的开发的前后端分离;


domain.User
domain部分相当于POJO层,专门用于封装数据
在这里插入图片描述

package mvc.domain;

public class User {
   
    private int id;
    private String username;
    private String password;
    private String email;
    private boolean admin;

    public User(){
   

    }

    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 getEmail() {
   
        return email;
    }

    public void setEmail(String email) {
   
        this.email = email;
    }

    public boolean isAdmin() {
   
        return admin;
    }

    public void setAdmin(boolean admin) {
   
        this.admin = admin;
    }
}


persistence.DBUtil
persistence持久层,专门用于封装于相关的数据库操作,比如连接数据库和在数据库中增删改查;
其中的DBUtil是专门用于连接数据库,写好好以后可以继续使用,一般不需要需改;
DAO层用于封装对象对数据库的各种操作。
在这里插入图片描述

package mvc.persistence;

import java.sql.*;

//DBUtil封装对数据库连接操作
//工具类,jdbc中专门用来写公共代码,就比如说连接数据库
public class DBUtil {
   
    //写成静态的,其他的方法不能进行修改
    //驱动的位置
    private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
    //数据库连接URL,不同版本的mysql这里可能有所不同, 其中的demo是你要连接的数据库的名字
    private static final String URL = "jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false";//设置中文模型utf8,防止用户用中文名注册时,数据库出现乱码
    //这里的账户和密码,因人而异
    private static final String USERNAME = "root";
    private static final String PASSWORD =  "123456";

    //获取数据库连接
    public static C
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVC是一种常用的软件架构模式,它将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。在这种模式下,模型表示应用程序的核心业务逻辑、数据和状态。视图是用户界面,负责展示数据。控制器处理用户输入、调用模型和更新视图。 下面是一个使用MVC模式实现用户登录的示例: 1. 模型层:定义用户对象和相关业务逻辑,如验证用户信息是否正确。 ```java public class User { private String username; private String password; public User(String username, String password) { this.username = username; this.password = password; } public boolean isValid() { // 验证用户信息是否正确 return "admin".equals(username) && "123456".equals(password); } } ``` 2. 视图层:展示登录界面,接收用户输入的用户名和密码。 ```html <form action="/login" method="post"> <label for="username">Username:</label> <input type="text" id="username" name="username"><br><br> <label for="password">Password:</label> <input type="password" id="password" name="password"><br><br> <input type="submit" value="Login"> </form> ``` 3. 控制器层:处理用户输入,调用模型层进行验证,更新视图层。 ```java public class LoginController { public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); User user = new User(username, password); if (user.isValid()) { // 登录成功,跳转到成功页面 response.sendRedirect("/success"); } else { // 登录失败,跳转到失败页面 response.sendRedirect("/failure"); } } } ``` 在这个示例中,用户在视图层输入用户名和密码,控制器层接收用户输入并创建User对象,调用User对象的isValid方法进行验证。如果验证通过,则跳转到成功页面,否则跳转到失败页面。 需要注意的是,控制器层需要接收并处理来自视图层的HTTP请求,因此需要实现javax.servlet.http.HttpServlet类,并将其映射到相应的URL上。在本示例中,可以在web.xml文件中添加如下配置: ```xml <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.example.LoginController</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> ``` 以上就是一个使用MVC模式实现用户登录的示例,其中模型层负责处理业务逻辑,视图层负责展示界面,控制器层负责处理请求和更新视图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值