• 第六周jsp


    1.数据库连接

     1 package util;
     2 
     3 import com.alibaba.druid.pool.DruidDataSourceFactory;
     4 
     5 import javax.sql.DataSource;
     6 import java.io.IOException;
     7 import java.io.InputStream;
     8 import java.sql.Connection;
     9 import java.sql.SQLException;
    10 import java.util.Properties;
    11 
    12 public class JDBCUtil {
    13     private static DataSource ds;
    14     static {
    15         Properties pro=new Properties();
    16         InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("druid.properties");
    17         try {
    18             pro.load(is);
    19            ds = DruidDataSourceFactory.createDataSource(pro);
    20         } catch (IOException e) {
    21             e.printStackTrace();
    22         } catch (Exception e) {
    23             e.printStackTrace();
    24         }
    25 
    26     }
    27     public static DataSource getDataSource(){return ds;}
    28     public static Connection getConnection() throws SQLException {
    29         Connection connection=ds.getConnection();
    30         return connection;
    31     }
    32 }

    2.数据库操作登录

    public Doctor Login(Doctor loginDoctor) {
            try {
                String sql="select * from doctors where username = ? and password = ?";
                Doctor doctor = temp.queryForObject(sql, new BeanPropertyRowMapper<Doctor>(Doctor.class), loginDoctor.getUsername(), loginDoctor.getPassword());
                return doctor;
            } catch (DataAccessException e) {
               return null;
            }
        }

    3.servlet(密码或用户名错误返回页面并提示)

    package web.Servlet;
    
    import domain.Doctor;
    import org.apache.commons.beanutils.BeanUtils;
    import service.DoctorService;
    import service.impl.DoctorServiceImpl;
    
    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 java.io.IOException;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Map;
    
    @WebServlet("/LoginServlet")
    public class LoginServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            String checkCode = request.getParameter("checkCode");
            HttpSession session = request.getSession();
            String checkcode = (String) session.getAttribute("CHECKCODE_SERVER");
            if (!checkcode.equalsIgnoreCase(checkCode)){
                request.setAttribute("error_msg","验证码错误");
                request.getRequestDispatcher("/index.jsp").forward(request,response);
                return;
            }
            Map<String, String[]> map = request.getParameterMap();
            Doctor loginDoctor =new Doctor();
            try {
                BeanUtils.populate(loginDoctor,map);
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
            DoctorService service=new DoctorServiceImpl();
            Doctor doctor=service.Login(loginDoctor);
            if (doctor!=null){
                session.setAttribute("user",doctor);
                response.sendRedirect(request.getContextPath()+"/Home.jsp");
            }else {
                request.setAttribute("error_msg","用户名或密码错误");
                request.getRequestDispatcher("/index.jsp").forward(request,response);
            }
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            this.doPost(request, response);
        }
    }

    4.若不存在,跳到登录页面

  • 相关阅读:
    各种推导式玩法
    游标实例
    点滴纪录
    Jquery和CSS--点滴精华总结
    Asp.net页面之间几种传值方法【示例】
    .net Repeater知识知多少
    SqlServer 知识标记
    从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
    Jquery获取html中select,radiobutton选中的值写法
    Javascript获取当前日期
  • 原文地址:https://www.cnblogs.com/zrz1/p/14655579.html
Copyright © 2020-2023  润新知