MVC案例登录页面
MVC概念的基本应用,基于MySQL数据库。
1,新建login.jsp页面,也就是首页,代码如下:
登录用户名:
密码
2,新建模型层,处理登录请求。代码如下:
package dao;
import entity.Login;
import java.sql.*;
//模型层:用于处理登录(查询数据库)
public class LoginDao {
public static int login(Login login) {
int flag=-1; //-1:系统异常,0:用户名或密码有误, 1:登陆成功
int result = -1;
Connection connection = null;
PreparedStatement pstmt =null;
ResultSet rs = null;
// boolean flag = false;//默认登录失败
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root");
String sql = "select count(*) from login where Uname =? and pwd=? ";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, login.getUname());
pstmt.setString(2, login.getPwd());
rs = pstmt.executeQuery();
if (rs.next()) {
result = rs.getInt(1);
}
if (result > 0) {
return 1;
} else {
return 0;//登录失败
}
} catch (Exception e) {
e.printStackTrace();
return -1;
}//系统失败
finally {
try{
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (connection != null) connection.close();
} catch (Exception e){
e.printStackTrace();
}
}
}
}
3,新建传递数据的类,代码如下:
package entity;
public class Login {
private int id;
private String Uname;
private String pwd;
public Login() {
}
public Login(String Uname ,String pwd) {
this.Uname= Uname;
this.pwd = pwd;
}
public Login(int id,String Uname ,String pwd) {
this.id=id;
this.Uname= Uname;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUname() {
return Uname;
}
public void setUname(String uname) {
Uname = uname;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
4,新建成功页面welcome.jsp,代码如下:
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
//处理登录请求
request.setCharacterEncoding("utf-8");
String name = request.getParameter("username");
String pwd = request.getParameter("pwd");
Login login =new Login(name,pwd);//用户名和密码
//调用模型层登录功能
int result = LoginDao.login(login);
if (result > 0){
response.sendRedirect("welcome.jsp");
}else{
response.sendRedirect("index.jsp");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
}
}
\争取日更!