学生管理--初学者
- 一、idea
- 二、使用步骤
-
- 1.创建数据库mywork,并建立名为login登录表
- 2.在idea中连接Mysql
- 3、配置Tomcat
- 4、代码
-
- 1.在Lib中放入连接mysql驱动类
- login.jsp
- welcome.jsp
- LoginDao.java
- Login.java
- LoginServlet.java
- 总结
一、idea
二、使用步骤
1.创建数据库mywork,并建立名为login登录表
SELECT
login
.
id
,
login
.
uname
,
login
.
upwd
FROM
mywork
.
login
;
得到
id, uname, upwd
‘1’, ‘zs’, ‘abc’
2.在idea中连接Mysql

3、配置Tomcat
4、代码
1.在Lib中放入连接mysql驱动类
login.jsp
代码如下(示例):
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
</head>
<body>
<form action="LoginServlet" method="post">
用户名:<input type="text" name="uname"></br>
密码:<input type="password" name="upwd"></br>
<input type="submit" value="登录"></br>
</form>
</body>
</html>
welcome.jsp
代码如下(示例):
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
登录成功!
</body>
</html>
LoginDao.java
代码如下(示例):
package dao;
import entity.Login;
import java.sql.*;
//模型层:用于处理登录(查询数据库)
public class LoginDao {
public static int login(Login login){//登录
//boolean flag=false;//登录成功与否的标识
int flag=-1;//-1:系统异常 0:用户名或密码有误 1:登录成功
int result=-1;
Connection connection=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
//登陆
try {
Class.forName("com.mysql.cj.jdbc.Driver");
connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/mywork?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false","root","root");
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 (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (connection != null) connection.close();
}catch (SQLException e)
{
e.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}
Login.java
代码如下(示例):
package 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 Login(int id, String uname, String upwd) {
this.id = id;
this.uname = uname;
this.upwd = upwd;
}
public void setId(int id) {
this.id = id;
}
public void setUname(String uname) {
this.uname = uname;
}
public void setUpwd(String upwd) {
this.upwd = upwd;
}
public int getId() {
return id;
}
public String getUname() {
return uname;
}
public String getUpwd() {
return upwd;
}
}
LoginServlet.java
代码如下(示例):
package servlet;
import dao.LoginDao;
import entity.Login;
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;
//接收View请求
//@WebServlet("/LoginServlet")
@WebServlet(name = "LoginServlet",urlPatterns = "/LoginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//处理登录
req.setCharacterEncoding("utf-8");
String name= req.getParameter("uname");
String pwd= req.getParameter("upwd");
Login login=new Login(name,pwd);//用户名、密码
//调用模型层的登录功能
int result=LoginDao.login(login);
if(result>0){//成功
resp.sendRedirect("welcome.jsp");
}else if(result==0) {//登录失败
resp.sendRedirect("login.jsp");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
总结
以上就是今天要讲的内容,本文仅仅简单做了一个登录操作。 如果输入用户名:zs 密码:abc 则查询数据库中的login表发现有数据,则跳转到welcome.jsp页面中表示登录成功,否则重回login.jsp页面,重新登录。 新手上岸,请多多指教!