Servlet编程题作业(硅谷7月结课)

​​​​​ 题目:

功能1:登录

说明:

  1. 系统中只有一个用户(用户名: admin,密码: 123456)

  2. 相关资源:

    login.html : 登录表单页面

    LoginServlet: 处理登录请求的Servlet

    login_success.html : 登录成功页面(提示: 登录成功)

    login_error.html : 登录失败页面(提示: 用户名或密码不正确)

功能2:注册

说明:

  1. 系统中只有一个用户(用户名: admin,密码: 123456)

  2. 相关资源:

    register.html : 注册表单页面

    RegistServlet: 处理注册请求的Servlet

    regist_success.html :注册成功页面(提示:注册成功)

    regist_error.html :注册失败页面(提示: 用户名已存在)

解题:

1. 作业
    1.1 不带数据库的登录和注册
        ① 登录
           创建登录页面
                <form action="" method="post">
                    username:<input type="text" name="username"/><br/>
                    password:<input type="password" name="password"/><br/>
                    <input type="submit" value="登录">
                </form>

 web.xml

创建LoginServlet
   public class LoginServlet extends HttpServlet {
                    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                        //1. 获得请求参数
                        String username=request.getParameter("username");
                        String password=request.getParameter("password");
                        //2. 处理业务  3. 给出响应(页面跳转)
                        if("admin".equals(username)&&"123456".equals(password)){
                            //跳转至登录成功页面
                            request.getRequestDispatcher("login_success.html").forward(request,response);
                        }else{
                            //跳转至登录失败页面
                            request.getRequestDispatcher("login_error.html").forward(request,response);
                        }
                    }
                    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                        doPost(request,response);
                    }
                }
创建登录成功和失败页面

 

 流程:

 测试

 

② 注册
    创建注册的页面
             <form action="" method="post">
                    username:<input type="text" name="username"/><br/>
                    password:<input type="password" name="password"/><br/>
                    confirm password:<input type="password" name="password"/><br/>
                    email:<input type="text" name="email"/><br/>
                    <input type="submit" value="注册">
                </form>

创建RegistServlet
  public class RegistServlet extends HttpServlet {
                    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                        //1. 获得请求参数
                        String username = request.getParameter("username");
                        String password = request.getParameter("password");
                        String email = request.getParameter("email");
                        //2. 处理注册的业务 3. 给响应
                        if("admin".equals(username)){
                            //注册失败
                            request.getRequestDispatcher("regist_error.html").forward(request,response);
                        }else{
                            //注册成功
                            request.getRequestDispatcher("regist_success.html").forward(request,response);
                        }
                    }
                    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                        doPost(request,response);
                    }
                }

web.xml

   <servlet>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>com.atguigu.servlet.LoginServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>RegistServlet</servlet-name>
        <servlet-class>com.atguigu.servlet.RegistServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>RegistServlet</servlet-name>
        <url-pattern>/regist</url-pattern>
    </servlet-mapping>

注册成功和失败页面

 流程

 测试

1.2  连接数据库的登录注册功能
① 搭建环境
    a. 导入jar包(数据库驱动包、数据库连接池、DBUtils)


    b. 创建JDBCTools和BaseDao
    c. 数据库连接池的配置文件
    d. 创建users表格
    e. 创建实体类(User)
② 注册功能
    a. 创建注册页面
    b. 创建RegistServlet
 public class RegistServlet extends HttpServlet {
                    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                        //1. 获得请求参数
                        String username = request.getParameter("username");
                        String password = request.getParameter("password");
                        String email = request.getParameter("email");
                        User user=new User(0,username,password,email);
                        //2. 处理注册的业务  3. 给响应
                        UserDao userDao=new UserDaoImpl();
                        User userByUsername = userDao.findUserByUsername(username);
                        if(userByUsername==null){
                            //可以注册
                            userDao.addUser(user);
                            request.getRequestDispatcher("regist_success.html").forward(request,response);
                        }else{
                            request.getRequestDispatcher("regist_error.html").forward(request,response);
                        }
                    }
                    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                        doPost(request,response);
                    }
                }

 c. 创建UserDaoImpl

  public class UserDaoImpl extends BaseDaoImpl implements UserDao {
                    @Override
                    public User findUserByUsername(String username) {
                        String sql="select * from users where username=?";
                        return this.getBean(User.class,sql,username);
                    }
                    @Override
                    public boolean addUser(User user) {
                        String sql="insert into users values(null,?,?,?)";
                        int update = this.update(sql, user.getUsername(), user.getPassword(), user.getEmail());
                        if(update>0)
                            return true;
                        return false;
                    }
                }
③ 登录功能
a. 创建login.html
b. 创建LoginServlet
 public class LoginServlet extends HttpServlet {
                    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                        //1. 获得请求参数
                        String username=request.getParameter("username");
                        String password=request.getParameter("password");
                        //2. 处理业务   3. 给出响应(页面跳转)
                        UserDao userDao=new UserDaoImpl();
                        User userByUsername = userDao.findUserByUsername(username);
                        if(userByUsername!=null){
                            //说明用户名是对的,接下来验证密码
                            if(userByUsername.getPassword().equals(password)){
                                request.getRequestDispatcher("login_success.html").forward(request,response);
                            }else{
                                //说明密码不对
                                request.getRequestDispatcher("login_error.html").forward(request,response);
                            }
                        }else{
                            //说明用户名不对
                            request.getRequestDispatcher("login_error.html").forward(request,response);
                        }
                    }
                    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                        doPost(request,response);
                    }
                }

 c. 创建UserDao

 public class UserDaoImpl extends BaseDaoImpl implements UserDao {
                    @Override
                    public User findUserByUsername(String username) {
                        String sql="select * from users where username=?";
                        return this.getBean(User.class,sql,username);
                    }
                    @Override
                    public boolean addUser(User user) {
                        String sql="insert into users values(null,?,?,?)";
                        int update = this.update(sql, user.getUsername(), user.getPassword(), user.getEmail());
                        if(update>0)
                            return true;
                        return false;
                    }
                }

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值