第六天下午、ServLet学习

新建SelvLet新建名称为servlet


新建ServLet

接下来为servlet命名,package随便起名,我这为servlet,class name为login.html的LoginServLet,之后单击Finish就可创建成功


servlet命名

login.html的action

新建完成之后,会生成一个java文件,这个文件就是后台代码文件,当输入用户名密码之后,后台代码会进行检查,而后台代码的第一个执行的函数入口就是doGet(),因此我们只需要在这个地方写代码即可。输入以下代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //response.getWriter().append("Served at: ").append(request.getContextPath());
        //用户填写的用户名密码会提交到这里
        //获取用户账号和密码
        String account = request.getParameter("account");
        String password = request.getParameter("password");
        System.out.println("账号为:"+account);
        System.out.println("密码为:"+password);
        
        boolean b = UserDao.login(account, password);
        //想办法跳转页面
        if(b)
        {
            System.out.println("登陆成功");
            response.sendRedirect("index.html");
        }
        else
        {
            System.out.println("登陆失败");
            response.sendRedirect("login.html");
        }
    }

然后在src目录下新建包,在下面新建文件UserDao.java,一定要提前把ojdbc复制进去,然后新建一个index.html,index.html的内容就随便写点就行了。
UserDao.java


新建代码
package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class UserDao
{
    public static boolean login(String account,String password)
    {
        boolean b = false;
        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
            PreparedStatement ps = conn.prepareStatement("select * from tb_user where user_account=? and password=?");
            ps.setString(1, account);
            ps.setString(2, password);
            ResultSet rs = ps.executeQuery();
            if(rs.next())
                b = true;

            rs.close();
            ps.close();
            conn.close();
        } catch (Exception e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //查询数据库是否有这个用户
//      if(account.equals("123") && password.equals("qwe"))
//          return true;
//      else
//          return false;
        return b;
    }
}

运行结果:第一次错误密码,第二次正确密码


运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。