首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

JAVABEAN中无法获取组件的值输入到数据库中。解决方法

2013-09-11 
JAVABEAN中无法获取组件的值输入到数据库中。这是JSP代码:HTML code%@ page languagejava importjava

JAVABEAN中无法获取组件的值输入到数据库中。
这是JSP代码:

HTML code
<%@ page language="java" import="java.sql.*" contentType="text/html; charset=GBK"%><jsp:useBean id="queryBean" scope="page" class="ch4.QueryBean"/><%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 'MySql.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>     <table width="60%" border="1">   <tr><td width="50%">姓名</td>           <td width="25%">学号</td>           <td width="25%">学分</td>  </tr>    <%ResultSet rs=queryBean.getQuery("select * from ta");    while(rs.next()){%>   <tr><td width="50%"><%=rs.getString(1)%></td>   <td width="25%"><%=rs.getInt(2) %></td>  <td width="25%"><%=rs.getInt(3) %></td></tr>  <%  } rs.close();%>     </table>  <form action="" method="post">  姓名 <input type="text" name="name" id="name"><BR>  学号 <input type="text" name="num"  id="num" ><br>  学分 <input type="text" name="point" id="point" ><input type="reset" value="清除" > <input type="submit" value="add"  name="add"> <input type="submit" value="modify" name="modify">  <jsp:setProperty property="submit" name="queryBean" value="<%=request.getParameter(\"submit\") %>"/> <jsp:setProperty property="str1" name="queryBean" value="<%= request.getParameter(\"name\")%>"/> <jsp:setProperty property="str2" name="queryBean" value="<%= request.getParameter(\"num\")%>"/> <jsp:setProperty property="str3" name="queryBean" value="<%=request.getParameter(\"point\")%>"/> <% try{ String str1=request.getParameter("name"); int str2=Integer.parseInt(request.getParameter("num")); int str3=Integer.parseInt(request.getParameter("point")); //queryBean.setModify("insert into ta values ('"+str1+"',"+str2+","+str3+");");使用这个方法可以存入值  queryBean.add(); out.println(str1); } catch (NumberFormatException e){ out.println("请输入数字");} %>  </form>    </body>  </html>

这是有关数据库的JAVA代码:
Java code
package ch4;import java.sql.*;public class QueryBean {ResultSet rs;Connection conn;String dbUser="root",dbUrl="jdbc:mysql://localhost/kat",dbPassword="020075";String submit=null,str1=null,str2=null,str3=null;public QueryBean(){    try{        Class.forName("org.gjt.mm.mysql.Driver");    }catch (java.lang.ClassNotFoundException e){        System.out.println(e.getMessage());    }}    public ResultSet getQuery(String sql){        try{            conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);            Statement stm=conn.createStatement();             rs=stm.executeQuery(sql);        }        catch (SQLException e){            e.printStackTrace();        }        return rs;    }public void setModify(String sql){    try{        conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);        Statement stm=conn.createStatement();        stm.executeUpdate(sql);    }    catch (SQLException e){        e.printStackTrace();    }}public void setSubmit(String s){    submit=s;}public void setStr1(String s){    str1=s;}public void setStr2(String s){    str2=s;}public void setStr3(String s){    str3=s;}public void add(){    if(submit.equals("add"))    setModify("insert into ta values('"+str1+"',"+str2+","+str3+");");    else if(submit.equals("modify"))    setModify("update ta set 姓名='str1' where 学号='str2';");}} 



提示的错误是:
org.apache.jasper.JasperException: An exception occurred processing JSP page /MySql2.jsp at line 60

57: int str2=Integer.parseInt(request.getParameter("num"));
58: int str3=Integer.parseInt(request.getParameter("point"));
59: //queryBean.setModify("insert into ta values('"+str1+"',"+str2+","+str3+");");
60: queryBean.add();
61: out.println(str1);
62: 
63: }


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:471)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


root cause 

java.lang.NullPointerException
ch4.QueryBean.add(QueryBean.java:49)
org.apache.jsp.MySql2_jsp._jspService(MySql2_jsp.java:160)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)



[解决办法]
ava.lang.NullPointerException
ch4.QueryBean.add(QueryBean.java:49)
看下你的QueryBean 的49行是哪个?
你的submit 这个值是什么时候setSubmit?
这个submit可能为null
我的异常网推荐解决方案:An exception occurred processing JSP page,http://www.myexception.cn/j2se/33144.html

热点排行