Servlet添加用户到数据库

 创建一个servlet包,里面写java类:

register.java详细代码如下:

package servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/tianjia")//注解配置,当jsp页面提交的时候,action属性的找这个注解配置的名字
public class register extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		//解决乱码问题            req相当于request对象使用
		req.setCharacterEncoding("UTF-8");
		String acc=req.getParameter("name");
		String pwd=req.getParameter("password");
	    try {
			Class.forName("com.mysql.jdbc.Driver");//加载驱动
			//连接mysql数据库
			Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8","root","123456");
			String s1="insert into users values(?,?)";
			PreparedStatement ps=con.prepareStatement(s1);//创建PreparedStatement对象执行sql语句
			ps.setString(1, acc);
			ps.setString(2, pwd);
			int i=ps.executeUpdate();
			if(i==1){
				resp.sendRedirect("sucess.jsp");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

创建添加用户信息的页面,register.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'register.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <form action="tianjia" method="post">
                         请输入姓名:<input type="text" name="name"><br>
                         请输入密码:<input type="text" name="password"><br>
            <input type="submit" value="注册">
                      
    </form>
  </body>
</html>

创建添加成功的提示页面,sucess.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'sucess.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    注册成功! <br>
  </body>
</html>

结果:

输入信息:

数据库开始的表:

 点击注册以后:

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
用户,你需要编写一个Servlet,并在其实现以下任务: 1. 从请求参数获取用户信息,例如用户名、密码、电子邮件地址和其他必要的信息。 2. 验证用户输入的数据是否合法。例如,确保用户名和密码不为空,电子邮件地址符合格式等。 3. 将用户信息存储在数据库或其他持久存储介质,例如文件系统或NoSQL数据库。 4. 返回一个成功或失败的响应,以告知用户是否已成功添加。 以下是一个简单的示例代码,用于添加用户数据库: ```java @WebServlet("/addUser") public class AddUserServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 从请求参数获取用户信息 String username = request.getParameter("username"); String password = request.getParameter("password"); String email = request.getParameter("email"); // 验证用户输入的数据是否合法 if (username == null || username.isEmpty() || password == null || password.isEmpty() || email == null || email.isEmpty()) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); return; } // 将用户信息存储在数据库 try { User user = new User(username, password, email); UserDao userDao = new UserDao(); userDao.addUser(user); } catch (SQLException e) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return; } // 返回一个成功的响应 response.setStatus(HttpServletResponse.SC_OK); } } ``` 在上面的代码,我们首先从请求参数获取用户名、密码和电子邮件地址,然后验证它们是否为空。如果有任何一个参数为空,则返回一个HTTP状态代码为400的错误响应。否则,我们使用UserDao类将用户信息存储在数据库。如果存储过程发生任何错误,我们将返回一个HTTP状态代码为500的错误响应。最后,如果一切顺利,我们将返回一个HTTP状态代码为200的成功响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵俺第一专栏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值