验证账号与密码是否正确功能
一.注册功能
首先,在验证账号与密码是否正确的前提下的,需要先注册一个账号,如果没有账号,就会进不去,也无法验证。
其实,注册功能就是一个添加的功能,仿照我的第一篇文章,往数据库里增加数据。
我这里做的注册页面比较简单,只是输入一个账号与密码,插入数据库,没有确认密码,也没有确定哪个账户是管理员还是读者。
期末考试快到了,没时间去写了,等我考完补上。
二.servlet层
package servlet;
import java.io.IOException;
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 javax.servlet.http.HttpSession;
import Bean.xinxi;
import dao.dao;
import daoimpl.daoimpl;
/**
* Servlet implementation class login_servlet
*/
@WebServlet("/login_servlet")
public class login_servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
dao gooddao=new daoimpl();
/**
* @see HttpServlet#HttpServlet()
*/
public login_servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String studentid=request.getParameter("studentid");
String password=request.getParameter("password");
String method=request.getParameter("method");
String form=request.getParameter("form");
HttpSession session=request.getSession();
//将数据存放到session中
xinxi good=new xinxi(studentid,password);
good.setStudentid(studentid);
good.setPassword(password);
if("login".equals(method)) {
if(gooddao.login(good)) {//dao层方法
session.setAttribute("good", good);//session //将账号密码存放到session
if(form.equals("读者"))request.getRequestDispatcher("reader.jsp").forward(request, response);
else if(form.equals("管理员"))request.getRequestDispatcher("genlist.jsp").forward(request, response);
}
else {
request.setAttribute("message1", "用户名或密码错误!");
request.getRequestDispatcher("denglu.jsp").forward(request, response);
}
}
}
}
三.dao层
判断账号与密码
public boolean login(xinxi n) {
Connection conn = DBUtil.getConnection();
ResultSet rs = null;
PreparedStatement pstmt=null;
String sql = "select * from t_user where studentid =? and password=?";//表里查询账号与密码,如果与之对应则账号密码正确,反之,密码错误
boolean isLogin=false;
try {
conn=DBUtil.getConnection();
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,n.getStudentid());
pstmt.setString(2,n.getPassword());
rs=pstmt.executeQuery();
while(rs.next()) {
isLogin=true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return isLogin;
}
三.jsp层
在页面我们需要知道是哪个用户在使用系统,我们需要使用session来存储用户名。
<%xinxi good=(xinxi)request.getSession().getAttribute("good"); %>//servlet中已存储用户名,只需在jsp里面获取
当前登录用户:<%=good.getStudentid() %>
写入你的jsp页面
结果如下:
接下来按照步骤继续写功能!!