以下是具体的错误
1.这两句应该换一下位置
stmt.executeUpdate(sql)
stmt=conn.createStatement()
2.出现数字格式异常,首先你要保证你在表单中填写的id是否是数字,如果不是数字,当你运行到这句的时候int id=Integer.parseInt(request.getParameter("id"))就会抛NumberFormatException;
另外,遍历结果集的中
String s1=rs.getString(1)
这句,你的数据库中的第一个字段id是int型的,不能用getString()类型不匹配,应该用rs.getInt(1)
你的问题我知道了,你想往数据库里插入数据,单纯从jsp页面插入没有现实意义,可以考虑到再编写一个表单页面提交表单数据,在jsp页面用统配符向数据库插入数据。我大致一个小例子你看看。
zhuce.html
<html>
<body>
<form name="form1" method="post" action="register.jsp">
<p align="center">用户名:
<input type="text" name="name">
</p>
<p align="center">密码:
<input type="password" name="password">
</p>
<p align="center">
<input type="submit" name="Submit" value=" 注册">
</p>
</form>
</body>
</html>
register.jsp
<%@ page contentType="text/htmlcharset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<body>
<%
request.setCharacterEncoding("GBK")
String name=request.getParameter("name")//内置对象应该会吧
String password=request.getParameter("password")
try{
Class.forName("org.gjt.mm.mysql.Driver")//驱动程序你自己的,我的是com.mysql.jdbc.Driver
String url="jdbc:mysql://localhost:3306/tian"//你自己设置数据库名称
Connection con=DriverManager.getConnection(url,"root","")//如果你mysql中root的密码是空的话最好写成""代替null
String sql="insert into txt (name,password) values ('"+name+"','"+password+"')"//你使用的表是txt,sql建表自己看着办吧
Statement stmt=con.createStatement()
if{
stmt.executeUpdate(sql)
response.sendRedirect("success.html")//根据结果定向成功页面
}else{
response.sendRedirect("f.html")//失败页面
}
}catch(Exception e){
e.printStackTrace()
System.out.println(e)
}
%>
</body>
</html>
至于success.jsp和f.jsp比较简单自己写下吧。
不会了可以上网查资料,或许再提问吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)