HTML+Servlet + MVC + JDBC + MySQL的简单登录

1.创建login.html页面

为了简单这里只有idpwd

<lable>ID:</lable><input type="text" id="id" name="id"><br/>
<label>密码:</label><input type="password" id="pwd" name="pwd"><br/>
<button type="button" id="btn_submit" >登录</button>

2.创建后台LoginServlet.java

doPost中的关键代码:

int id = Integer.parseInt(request.getParameter("id"));
String pwd = (String)request.getParameter("pwd");
		
loginService = new LoginServiceImp();
Student stu = loginService.checkUserExist(id, pwd);
		
PrintWriter out = response.getWriter();
if(stu != null){
	out.write("success");
}else{
	out.write("id or pwd is false");
}

这里获取页面中传递的idpwd,再调用service层进行验证,并将验证结果返回个前端页面。

3.创建Ajax链接servlet

<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
   $(function(){
      $("#btn_submit").click(function (){
         //检测id是否是数字,如果是,则向后端发送请求
         if($("#id").val().match(/^[0-9]+$/)){
           $.post(
              "servlet/LoginServlet",
              {
                id:$("#id").val(),
                pwd:$("#pwd").val()
              },
             function(data){
                alert("back:  " + data)
            }
             )
        }else{
           alert("id只能是数字类型")
        }
                
      })
   })
    </script>

这里对id进行数字类型验证,发送post请求给后端servlet。使用了jQuerypost方法。

4.创建ILoginService.javaLoginServiceImp.java

5.创建ILoginDAO.javaLoginDAOImp.java

6.创建DButil链接mysql数据库

public class DButil {
	private String driver = "com.mysql.jdbc.Driver";
	private String url = "jdbc:mysql://localhost:3306/test";
	private String username = "root";
	private String pwd = "root";
	
	private Connection conn;
	
	public void getConn(){
		try {
			Class.forName(driver); //加载驱动
			conn = DriverManager.getConnection(url,username, pwd); //获取链接
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	public ResultSet excuteQuery(String sql){
		ResultSet res = null;
		getConn();
		try {
			Statement statement = conn.createStatement();
			res = statement.executeQuery(sql);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return res;
	}
	
	@Test
	public void testDB(){
		String sql = "select name, pwd from student where id = 1"; 
		ResultSet excuteQuery = excuteQuery(sql);
		try {
			if(excuteQuery.next()){
				System.out.println("name:" + excuteQuery.getString("name"));
			}
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

注:如果出现Access denied for user 'root'@'localhost' (using password: YES)

1)打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。

2)重启MySQL服务。

源码位置:

链接:http://pan.baidu.com/s/1nvHUcvJ 密码:ol6e

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值