Java web 服务器登陆功能

来源:互联网 发布:mac磁盘名称 编辑:程序博客网 时间:2024/06/07 09:28

只有一行输出的服务器端功能显然不能阻止被吐槽,所以又得跑来重做服务器交互界面,先,至少把登陆写出来吧,又因为,teacher说不同用户登录使用不同的权限,得,再摸数据库,,,


第一次做,数据库获取数据摸了一会,还是挺简单的,

}
这是在数据库里写的几个用户账号密码,手写

if(username==XXX&&password==xxx)

万一要模拟很多用户登陆那就GG

LoginSelvet连接数据库,获取login.jsp中填入数据,判断账号密码是否正确,并返回success.jsp与fail,jsp


import java.io.IOException;import java.sql.DriverManager;import java.sql.ResultSet;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 com.mysql.jdbc.Connection;import com.mysql.jdbc.Statement;/** * Servlet implementation class LoginSelvet */@WebServlet("/LoginSelvet")public class LoginSelvet extends HttpServlet {private static final long serialVersionUID = 1L;           /**     * @see HttpServlet#HttpServlet()     */    public LoginSelvet() {        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//response.getWriter().append("Served at: ").append(request.getContextPath());}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//防乱码response.setContentType("test/html;charset=utf-8");response.setCharacterEncoding("utf-8");//获取jsp中填入数据String username=request.getParameter("username");String password=request.getParameter("password");//数据库相关String Dusername = null;String Dpassword=null;int Did=0;String sql=null;int i=0;//与数据库建立连接try{Class.forName("com.mysql.jdbc.Driver");System.out.println("Loading Database success");}catch(Exception e){System.out.println("Class not found exception");}
//数据库库名CreationString url="jdbc:mysql://localhost:3306/Creation";Connection con=null;Statement stmt=null;ResultSet rs=null;try{
//我的数据库账号root 密码空con=(Connection)DriverManager.getConnection(url,"root","");stmt=(Statement)con.createStatement();sql="select*from manager";rs=stmt.executeQuery(sql);while (rs.next()){//因为不止一个数据,就要循环,对每条数据都进行验证匹配Did=rs.getInt("id");for(Did=0;Did<5;Did++){Dusername=rs.getString("username");Dpassword=rs.getString("password");if(username.equals(Dusername)&&password.equals(Dpassword)){System.out.println("admin登陆成功");//要成功,跳转success.jspresponse.sendRedirect("success.jsp");}else{System.out.println("登陆失败");response.sendRedirect("fail.jsp");}}}}catch(Exception e){e.printStackTrace();}}}

登陆界面login.jsp

<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>登录</title></head><body><form method="POST" name="divlogin"  action="LoginSelvet">  <div align="center" ><h1>登 录</h1>账号:<input type="text" name="username"><br><br>密码:<input type="password" name="password"><br><br><input type="submit" name="login" value="登陆" onclick="return emptyLogin()">    <input type="button" name="reset" value="重置"></div><script type="text/javascript">function emptyLogin(){var eusername=document.divlogin.username.value;var epassword=document.divlogin.password.value;if(eusername==""){alert("请输入账号");return false;}if(epassword==""){alert("请输入密码");return false;}}</script></form></body>





0 0