jsp+javabean+sql2008简单注册问题 100分跪求高手解答!!!!!

小幺鸡 2011-11-23 09:22:22
本人菜鸟,初学不久,尝试jsp通过javabean访问数据库sql2008简单注册,建立web工程myjsp,导入了sqljdbc4.jar,通过java程序可以顺利的访问并操作数据库,myjsp下新建一个包MyBean,下面是碰到的问题:
创建一个注册表单:

<html>
<body>
<form name="form1" method="post" action="newuser.jsp" onsubmit="return RgValidation()" >
注册页面(Demo)
<hr>输入用户ID:
<input size="15" name="userid" ></input><br>
输入用户名:
<input size="15" name="name" ></input>

<input type="submit" name="submit!" value="插入 "/>
</form>
</body>
</html>


//提交给newuser.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@ page import="MyBean.*" %>
<jsp:useBean id="userInfo" class="MyBean.UserInfo" scope="page">
<jsp:setProperty name="userInfo" property="*"/>
</jsp:useBean>
<jsp:useBean id="regist" class="MyBean.UserRegist" scope="page"/>
<%
regist.setUserInfo(userInfo);
regist.regist();
out.println("Success!");
%>
<html>
<head>
<title>My JSP 'newuser.jsp' starting page</title>
</head>

<body>
This is my JSP page. <br>
</body>
</html>



...全文
185 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
小幺鸡 2011-11-23
  • 打赏
  • 举报
回复
插入到数据库里的数据
中文乱码怎么办
kouyiSC 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 qq251521372 的回复:]
你的javabean和数据库的表怎莫没有对应,javabean中的属性应该和表中的列一一对应,表中写的password。javabean中写的是id,再取值的时候取不到相应的值,jsp中你还用了uesrbean,必然会抛空指针的异常。
[/Quote]
不需要和表字段对应。。java类代码里没问题。。null指针是因为数据库连接问题。。。
小幺鸡 2011-11-23
  • 打赏
  • 举报
回复
8楼乃神人啊
小幺鸡 2011-11-23
  • 打赏
  • 举报
回复
昏了,我在修改下
佳崴 2011-11-23
  • 打赏
  • 举报
回复
你的javabean和数据库的表怎莫没有对应,javabean中的属性应该和表中的列一一对应,表中写的password。javabean中写的是id,再取值的时候取不到相应的值,jsp中你还用了uesrbean,必然会抛空指针的异常。
若干年 2011-11-23
  • 打赏
  • 举报
回复
8楼正解
m540920181 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 b1481263728 的回复:]
本人菜鸟,初学不久,尝试jsp通过javabean访问数据库sql2008简单注册,建立web工程myjsp,导入了sqljdbc4.jar,通过java程序可以顺利的访问并操作数据库,myjsp下新建一个包MyBean,下面是碰到的问题:
创建一个注册表单:

HTML code


<html>
<body>
<form name="form1" method="po……
[/Quote]

把第一个jsp插入数据后,要连接到javabean,实现插入到数据库中,如果是你的这种方式,就没有插入到数据库中,只会是页面之间的跳转
而且在第二个页面这么不使用(getproperty 属性呢,这个属性就可以得到值了,不必再使用java代码了
佳崴 2011-11-23
  • 打赏
  • 举报
回复
没关connection,PreparedStatement
kouyiSC 2011-11-23
  • 打赏
  • 举报
回复

String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String SERVANDDB="jdbc:sqlserver://localhost:1433; DatabaseName=JSPTest";


改为:com.microsoft.sqlserver.jdbc.SQLServerDriver

String SERVANDDB="jdbc:sqlserver://localhost:1433; DatabaseName=JSPTest";这里;号后面多了一个空格。。。去掉。。。
String SERVANDDB="jdbc:sqlserver://localhost:1433;DatabaseName=JSPTest";
小幺鸡 2011-11-23
  • 打赏
  • 举报
回复
在线等到11点寝室熄灯,明天继续
小幺鸡 2011-11-23
  • 打赏
  • 举报
回复
不好意思补上UserRegist.java

package MyBean;

import java.sql.*;
public class UserRegist{
private UserInfo userInfo;
private Connection conn;

//get database connection
public UserRegist()
{
String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String SERVANDDB="jdbc:sqlserver://localhost:1433; DatabaseName=JSPTest";
String USER="sa";
String PWD="123456";

try
{
Class.forName(CLASSFORNAME);
conn=DriverManager.getConnection(SERVANDDB,USER,PWD);

}
catch(Exception e)
{
e.printStackTrace();
}
}
//set register user info
public void setUserInfo(UserInfo userInfo)
{
this.userInfo=userInfo;
}
//begin register
public void regist()throws Exception
{
String reg="INSERT INTO TABLE2 values(?,?)";
try
{
PreparedStatement pstmt=conn.prepareStatement(reg);
pstmt.setString(1,userInfo.getUserid());
pstmt.setString(2,userInfo.getName());
pstmt.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}
}
小幺鸡 2011-11-23
  • 打赏
  • 举报
回复
输出不对啊,应该是Success! This is my JSP page才对啊
jeemese 2011-11-23
  • 打赏
  • 举报
回复
UserRegist.java 代码贴错了
jeemese 2011-11-23
  • 打赏
  • 举报
回复
啥问题?
小幺鸡 2011-11-23
  • 打赏
  • 举报
回复
输入“zs”和“张三”点击插入
输出如下:

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause

java.lang.NullPointerException
MyBean.UserRegist.regist(UserRegist.java:38)
org.apache.jsp.newuser_jsp._jspService(newuser_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

对了,sql2008数据库的结构如下:
小幺鸡 2011-11-23
  • 打赏
  • 举报
回复
UserInfo.java
package MyBean;
public class UserInfo
{
private String userid;
private String name;

//setter property
public void setUserid(String value)
{
this.userid=value;
}
public void setName(String value)
{
this.name=value;
}

//getter property
public String getUserid()
{
return this.userid;
}
public String getName()
{
return this.name;
}
}


UserRegist.java
package MyBean;
public class UserInfo
{
private String userid;
private String name;

//setter property
public void setUserid(String value)
{
this.userid=value;
}
public void setName(String value)
{
this.name=value;
}

//getter property
public String getUserid()
{
return this.userid;
}
public String getName()
{
return this.name;
}
}

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧