package com.zq.dao;
public interface UserDao {
public boolean login(String username,String pwd);
}
package com.zq.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class UserDaoImpl implements UserDao {
@Override
public boolean login(String username, String pwd) {
//写连接数据库,查询用户名密码是否正确的操作
Connection conn = null;
PreparedStatement pst = null;//因为最后需要关闭,所以写在最上面,不然try里面内容,
//finally里面调不到
ResultSet rs = null;
//1、引入具体的数据库jar包
try{
//2、注册/安装数据库的驱动程序/类
Class.forName("com.mysql.jdbc.Driver");
//3、创建数据库连接,连接数据库:哪个数据库、用户名、密码多少
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/myweb","sa","123456");
//4、sql语句,并且对数据库执行下sql语句:查询返回结果、删除、更新
String sql = "select * from user where username = ? and pwd = ?";
pst = conn.prepareStatement(sql);
//穿进去用户名和密码
pst.setString(1, username);
pst.setString(2,pwd);
//5、如果是查询,需要获取查询结果
rs = pst.executeQuery();
}catch(Exception e){
}finally{
//6、关闭数据库连接的这些对象,释放缓存
}
return false;
}
}
package com.zq.controller; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //注解:代替一些配置文件的配置 @WebServlet给前台jsp提供一个访问地址 //http://localhost:8088/MyWeb/user @WebServlet("/user") public class UserServlet extends HttpServlet { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //业务逻辑代码 System.out.println("进来了"); //1、获取从前台或从浏览器地址传进来的参数 //HttpServletRequest 里面存有前台传来的参数;可以往前台页面上传数据;执行页面的跳转serlvet类里面跳到某个页面 //HttpServletResponse 主要有个作用可以直接返回数据,不需要跟着页面传输数据 String action = req.getParameter("action"); //null.equals //http://localhost:8088/MyWeb/user?action=toLogin&username=zq&pwd=123 if(null!=action && action.equals("toLogin")){//从系统上的注销操作,跳转到登陆页面 //跳到页面时,想传递一个数据;第一个参数放传递数据变了的名字,第二个参数传递的数据的值 req.setAttribute("msg", "今天天气真好啊"); //也可以传任何对象Object Map map =new HashMap(); map.put("name", "zq"); map.put("age", "22"); req.setAttribute("map", map); //requst跳转到某个页面代码 req.getRequestDispatcher("index.jsp").forward(req, resp); }else if(action.equals("delete")){ //页面保持不动的情况,向后台发一请求,ajax请求,局部刷新,页面不动; //如果是超链接的跳转,都是直接整个页面都刷新、跳转了,那种不是ajax请求 //ajax请求返回前台的只是一个数据结果,不需要跳转页面 resp.setContentType("text/html;charset=utf-8");//设置页面显示的数据是中文编码方式,不然会乱码 PrintWriter out = resp.getWriter(); out.print("删除成功"); out.flush(); out.close(); }else if(action.equals("login")){//如果是登陆操作 String username = req.getParameter("username"); String pwd = req.getParameter("pwd"); if(username.equals("admin") && pwd.equals("123")){ System.out.println("跳转一个系统首页面"); }else{ //跳回到登陆页面,并且告诉登录那个人,你用户名或密码输错了 req.setAttribute("msg", "您的用户名或密码输入错误"); req.getRequestDispatcher("index.jsp").forward(req, resp); } } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("调用doPost了"); doGet(req, resp); } }