关于Java web中servlet连接数据库的一个细节问题

      今天在写用户注册功能的代码时,当通过servlet接收表单数据并保存到数据库时,没有出现任何错误,但是在数据库中查看,第一列用户名显示为空,无论如何检查都感觉是对的,后来再把jsp代码和servlet代码结合着看的时候,终于发现了错误:

     在写jsp页面时,对用户名所给的名字,在servlet接收时要对应,不然它不会报错,但是数据库中存储的数据却为空,下面具体看代码:

这是写的一个简单的jsp用户注册页面,给用户名的名字是username,密码的名字是keyword,学号的名字是num

 <body>
    <form action="servlet/Login" method="post">
          用户名:<input type="text" name="username"> <br/>
          密  码 :<input type="keyword" name="keyword"><br/>
          学  号:<input type="num" name="num"><br/>
          <input type="submit" value="注册">           
    
    </form>
  </body>

下面是获取表单信息,并保存到数据库中的servlet,注意获取信息时名字要和jsp提交的信息一致,

	response.setContentType("text/html;charset=UTF-8");
		//获取输入信息
		String member = request.getParameter("username");
		String keyword = request.getParameter("keyword");
		String num = request.getParameter("num");
		
		//连接数据库
		String url = "jdbc:mysql://localhost:3306/thecheck";
		String user="root";
		String password = "19960104";
		
		try {
			 Class.forName("com.mysql.jdbc.Driver");
		
			try {
		   java.sql.Connection conn = DriverManager.getConnection(url, user, password);
		   java.sql.Statement st = conn.createStatement();
		   String sql = "insert into student values("+"'"+member+"',"+"'"+keyword+"',"+"'"+num+"',"+"0)";
	        //System.out.println(sql);
		   st.executeUpdate(sql);
			
		    } catch (SQLException e) {
				
				e.printStackTrace();
			}
			
		    } catch (ClassNotFoundException e) {
		
			  e.printStackTrace();
			}
		   
	}

其中还要注意的是写的输入语句要和数据库中的sql语句对应,否则也会出现错误。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值