从0到1使用汤姆猫(tomcat)和servlet实现登录和注册

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册

                                        ——Javee

注:这里使用的编辑器是idea

这里我之前创建了一个空的项目,所以直接点解添加模块即可:

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册_第1张图片

这里选择Java EE的web应用,点击下一步

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册_第2张图片

这里名字自己取,然后下一步

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册_第3张图片

这里选择依赖,再点右边的+,再选择第一个Jars或目录

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册_第4张图片

这里选择自己汤姆猫(tomcat)和ojdbc即可,最后点击确定即可

我们先在web目录下新建两个文件reg.html(注册)和login.html(登录)

代码如下:




   
      
      登录
   
   
      



   
      
      注册
   
   
      

接着在src目录创建三个包dao、model、util

编写文件dao->Operate.java

//Operate.java
package dao;

import model.User;
import util.DBLink;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
* @Author Javee
* @Date 2019/9/3 19:27
* @Description 对用户提交的数据进行响应
*/
public class Operate extends HttpServlet {
    public void service(HttpServletRequest req, HttpServletResponse res)
            throws UnsupportedEncodingException {
        //System.out.println("service ok...");
        req.setCharacterEncoding("utf-8");
        res.setContentType("text/html;charset=utf-8");

        String uri = req.getRequestURI();
        uri = uri.substring(uri.lastIndexOf("/"), uri.lastIndexOf("."));

        if(uri.equals("/reg")){
            String name = req.getParameter("name");
            String pass = req.getParameter("pass");

            User user = new User();
            user.setName(name);
            user.setPass(pass);

            Connection con = null;
            try {
                con = DBLink.getCon();
                String sql = "insert into t_user values (seq_t_user.nextval, ?, ?, to_date(sysdate))";
                PreparedStatement ps = con.prepareStatement(sql);
                ps.setObject(1, user.getName());
                ps.setObject(2, user.getPass());

                ps.executeUpdate();
                ps.close();
                DBLink.close(con);

                PrintWriter o = res.getWriter();
                o.println("注册成功!");
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    DBLink.close(con);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }else if(uri.equals("/login")){
            Connection con = null;

            String name = req.getParameter("name");
            String pass = req.getParameter("pass");

            User user = new User();
            user.setName(name);
            user.setPass(pass);

            try {
                con = DBLink.getCon();

                String sql = "select count(1) num from t_user where name = ? and pass = ?";
                PreparedStatement ps = con.prepareStatement(sql);

                ps.setObject(1, user.getName());
                ps.setObject(2, user.getPass());

                ResultSet rs = ps.executeQuery();
                PrintWriter o = res.getWriter();
                while(rs.next()){
                    if(rs.getInt("num") == 1){
                        o.println("登录成功!");
                    }else{
                        o.println("用户名或密码错误!");
                    }
                }

            } catch (SQLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

编写model->User.java

//User.java
package model;

/**
* @Author Javee
* @Date 2019/9/3 19:29
* @Description
*/
public class User {
    int id;
    String name;
    String pass;
    String Date;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    public String getDate() {
        return Date;
    }

    public void setDate(String date) {
        Date = date;
    }
}

编写util->DBLink.java

//DBLink.java
package util;

import java.sql.Connection;
import java.sql.DriverManager;

/**
* @Author Javee
* @Date 2019/9/3 19:29
* @Description
*/
public class DBLink {
    public static Connection getCon() throws Exception {
        Connection con = null;
        Class.forName("oracle.jdbc.driver.OracleDriver");
        con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "Javee", "123456");
        return con;
    }

    public static void close(Connection con) throws Exception {
        if(con != null){
            con.close();
        }
    }
}

修改web->WEB-INF->web.xml



    
        index.jsp
    
    
        user
        dao.Operate
    
    
        user
        *.do
    

在Oracle创建表

CREATE TABLE t_user
(
  ID NUMBER(4),
  NAME VARCHAR2(20),
  pass VARCHAR2(20),
  regdate DATE
);
CREATE SEQUENCE seq_t_user;

编辑配置

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册_第5张图片

 

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册_第6张图片

名称自己取或者默认就可以,点击修复,在点击确定,然后点击云心给,就可以啦~

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册_第7张图片

在浏览器操作就可以啦~

从0到1使用汤姆猫(tomcat)和servlet实现登录和注册_第8张图片

点击提交就可以注册或者登录了~

到这里我们今天的项目就完成啦~

具体代码见顶部下载链接~~~~~~~~~~~~~

你可能感兴趣的:(Java,jsp/servlet)