首页 > Web开发 > 详细

MVC案例

时间:2020-03-20 13:31:01      阅读:49      评论:0      收藏:0      [点我收藏+]

利用MVC思想编写代码实现登录功能

 

 

 

技术分享图片

M层代码:

package org.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.entity.Login;

//模型层,用于处理登录(查询数据)
public class LoginDAO {
    public static int login(Login login){
        final String URL="jdbc:mysql://localhost:3306/java?useSSL=false";
        final String USERNAME = "root";
        final String PASSWORD = "123456";
        Connection connection = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        int result = -1;
        int flag = -1;//-1:系统异常。0:用户名或密码有误。1:登录成功
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);
            String sql = "select count(*) from login where uname=? and upwd=?";
            pstmt = connection.prepareStatement(sql);
            pstmt.setString(1,login.getUname());
            pstmt.setString(2, login.getUpwd());
            rs = pstmt.executeQuery();
            if(rs.next()){
                result = rs.getInt(1);
            }
            if(result>0){
                return 1;//登录成功
            }else{
                return 0;//登录失败,用户名或密码错误
            }
            
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return -1;//登录失败(系统异常)
        }catch(SQLException e){
            e.printStackTrace();
            return -1;//登录失败(系统异常)
        }catch(Exception e){
            e.printStackTrace();
            return -1;//登录失败(系统异常)
        }finally{
                try {
                    if(connection!=null)
                        connection.close();
                    if(pstmt!=null)
                        pstmt.close();
                    if(rs!=null)
                        rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                } catch(Exception e){
                    e.printStackTrace();
                }
        }
    }
}

 

C层代码:

先将uname和upwd进行封装

package org.entity;

public class Login {
    private int id;
    private String uname;
    private String upwd;
    public Login() {}
    public Login( String uname, String upwd) {
        this.uname = uname;
        this.upwd = upwd;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
    public String getUpwd() {
        return upwd;
    }
    public void setUpwd(String upwd) {
        this.upwd = upwd;
    }
    

}

C层调用M层实现登录操作

package org.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dao.LoginDAO;
import org.entity.Login;

//控制器层,接收view请求,并分发给model层
public class LoginServlet extends HttpServlet {
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //处理登录请求
        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("uname");
        String pwd = request.getParameter("upwd");
        Login login = new Login(name,pwd);//用户名,密码
        //调用模型层的登录功能
        int result = LoginDAO.login(login);
        if(result > 0){//登录成功
            response.sendRedirect("welcome.jsp");
        }else{//登录失败
            response.sendRedirect("login.jsp");
        }
        
        
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

}

V层:

<form action="LoginServlet">
        用户名:<input type="text" name="uname"/>
        密码:<input type="password" name="upwd"/>
        <input type="submit" value="登录"/>
    </form>

 

MVC案例

原文:https://www.cnblogs.com/hsy-go/p/12530275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!