java web中注册类Register的写法.2021.11.12

1.新建RegisterServlet

和登陆类相似,RegisterServlet中存在doget和dopost方法,我们在doPost方法中,调用doGet方法

doGet(request,response);

2.在doGet方法中,和LoginServlet同样的方法获得用户在前端提交的用户名和密码

        String name = request.getParameter("name"); //定义一个变量获取用户输入的name
        String password = request.getParameter("password");
        System.out.println(name);
        System.out.println(password);

3.完善dao包中的UserDaoImpl中的register方法,方便我们直接调用这个方法

定义一个sql语句去添加记录

String sql = "insert into t_user(name,password) values(?,?)";

用PrepareStatement语句去执行,可能会产生异常,添加一个try-catch语句

ps的第一个参数赋值为name,第二个参数赋值为password

然后调用ps.excuteUpdate方法,这个方法的返回值有两种情况

 (1)返回受sql语句影响的行数

 (2)数据库受影响的行数为0时,返回0

try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1,name);
            ps.setString(2,password);
            count = ps.executeUpdate();
            DBUtil.release(null,null,ps,conn);
        } catch (SQLException e) {
            e.printStackTrace();
        }

 定义一个count,数据库受影响的情况

int count = 0;

执行玩sql语句后,记得调用DBUtil.release()方法释放资源

最后,给返回值一个布尔值

if(count==0){
            return false;
        }else{
            return  true;
        }

4.回到我们的RegisterServlet类中

首先调用UserDao中的实现方法

UserDao dao = new UserDaoImpl();

再定义一个success作为判断是否注册成功的变量

boolean success = dao.register(name,password);

用一个判断语句,来确定success后决定网页的变化

if(success){
            response.sendRedirect("/login.jsp");
        }else{
            request.getRequestDispatcher("/error.jsp").forward(request,response);
        }

如果注册成功,success不为0,跳转到login.jsp界面

如果注册不成功,做一个请求转发,到error.jsp界面

完成后,重启tomcat测试,网页注册无问题,查看数据库是否存在注册记录。

 

要创建一个名为`RegisterServlet.java`的Servlet类并解决你遇到的错误,你需要按照以下几个步骤操作: 1. **定义Servlet类结构**: 创建一个新的Java文件,命名为`RegisterServlet.java`,确保它继承自`HttpServlet`,并导入必要的包[^1]: ```java import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; // ...其他可能的import(如数据库连接库) @WebServlet(urlPatterns = "/register") // 注册Servlet的URL映射 public class RegisterServlet extends HttpServlet { // ... } ``` 2. **实现Servlet生命周期方法**: `HttpServlet`类已经实现了Servlet的基本生命周期方法,但你可以覆盖这些方法以添加自己的业务逻辑。例如,重写`doGet`和` doPost`方法来处理HTTP请求: ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 处理GET请求 // 如果是注册表单的GET请求,可以显示表单 response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html><body>"); // ... } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 处理POST请求 String username = request.getParameter("username"); // 获取表单参数 // ...验证并保存数据到数据库 // ... response.sendRedirect("/success"); // 响应成功后跳转 } ``` 3. **部署与配置**: - 将`RegisterServlet`添加到你的项目`pom.xml`的`<dependencies>`部分,替换原有的`servlet-api`依赖为`jakarta.servlet-api`。 ```xml <!-- pom.xml --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>4.0.3</version> </dependency> ``` 4. **启动应用和服务端口**: 重启你的Tomcat服务器,确保`RegisterServlet`能够被正确扫描和初始化。 如果你尝试运行时仍然遇到问题,可能是路径配置不正确或者缺少其他依赖。记得检查你的web.xml配置文件,确认Servlet映射和类路径设置无误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值