为什么这个程序会报这样的错语cannot is issue data manipulation statements with executeQuery();请问什么原因哦``package beans;
import java.sql.*;
public class connDB {
Connection conn=null;
Statement stmt =null;
ResultSet rs=null;
public connDB()
{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
// TODO: handle exception
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/luntan", "root",
"12345678");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (Exception ex) {
// TODO: handle exception
System.err.println(ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)
{
int result=0;
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/luntan", "root",
"12345678");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (Exception ex) {
// TODO: handle exception
System.err.println(ex.getMessage());
result=0;
}
return result;
}
}<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<jsp:useBean id="connBean" scope="page" class="beans.connDB"/>
<html>
<head>
<title>My JSP 'reg_ok.jsp' starting page</title>
</head>
<body>
<%
String id=request.getParameter("id");
String name=request.getParameter("name");
String password=request.getParameter("password");
String sex=request.getParameter("sex");
ResultSet rs=connBean.executeQuery("select * from register where username='"+name+"'");
System.out.println(name);System.out.println(password);
System.out.println(id);System.out.println(sex);
if(rs.next())
{
%>
<h3>该用户名己经存在!!请重新<a href>注册</a></h3>
<%
}
else
{
String sql="insert into register values('"+id+"','"+name+"','"+password+"','"+sex+"')";
int ret=0;
ret=connBean.executeUpdate(sql);
out.println(id);
if(ret!=0)
{
%>
<h3>用户注册成功!!!</h3>
<jsp:forward page="login.jsp"></jsp:forward>
<%
}
else
{
%>
<h3>用户注册失败!!请重新<a href="reg.jsp">注册</a></h3>
<%
}
}
%>
</body>
</html><%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>注册页面</title></head>
<body>
<center>
<h1>欢迎你来注册本网站!</h1>
<br><br>
<form action="regok.jsp" method="post">
ID:<input type="text" name="id"><br>
用户名:<input type="text" name="name"><br>
密 码:<input type="password" name="password"><br>
性 别:<input type="text" name="sex"><br>
<td><input type="submit" value="提交"/></td>
<td><input type="reset" value="重置"/></td>
</form>
</center>
</body>
</html>
import java.sql.*;
public class connDB {
Connection conn=null;
Statement stmt =null;
ResultSet rs=null;
public connDB()
{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
// TODO: handle exception
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/luntan", "root",
"12345678");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (Exception ex) {
// TODO: handle exception
System.err.println(ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)
{
int result=0;
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/luntan", "root",
"12345678");
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (Exception ex) {
// TODO: handle exception
System.err.println(ex.getMessage());
result=0;
}
return result;
}
}<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<jsp:useBean id="connBean" scope="page" class="beans.connDB"/>
<html>
<head>
<title>My JSP 'reg_ok.jsp' starting page</title>
</head>
<body>
<%
String id=request.getParameter("id");
String name=request.getParameter("name");
String password=request.getParameter("password");
String sex=request.getParameter("sex");
ResultSet rs=connBean.executeQuery("select * from register where username='"+name+"'");
System.out.println(name);System.out.println(password);
System.out.println(id);System.out.println(sex);
if(rs.next())
{
%>
<h3>该用户名己经存在!!请重新<a href>注册</a></h3>
<%
}
else
{
String sql="insert into register values('"+id+"','"+name+"','"+password+"','"+sex+"')";
int ret=0;
ret=connBean.executeUpdate(sql);
out.println(id);
if(ret!=0)
{
%>
<h3>用户注册成功!!!</h3>
<jsp:forward page="login.jsp"></jsp:forward>
<%
}
else
{
%>
<h3>用户注册失败!!请重新<a href="reg.jsp">注册</a></h3>
<%
}
}
%>
</body>
</html><%@ page contentType="text/html;charset=gb2312"%>
<html>
<head><title>注册页面</title></head>
<body>
<center>
<h1>欢迎你来注册本网站!</h1>
<br><br>
<form action="regok.jsp" method="post">
ID:<input type="text" name="id"><br>
用户名:<input type="text" name="name"><br>
密 码:<input type="password" name="password"><br>
性 别:<input type="text" name="sex"><br>
<td><input type="submit" value="提交"/></td>
<td><input type="reset" value="重置"/></td>
</form>
</center>
</body>
</html>
你这四个参数中有为空的字段,但是数据库该字段不为空,导致插入数据库失败的,可以输出获取的值看看;或者给这四个变量赋值,看是否会报错,)
http://www.wy186.cn/wlbc/3/2007/8183.html
可能有帮助
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.judge_jsp._jspService(org.apache.jsp.judge_jsp:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/luntan");
Connection conn=ds.getConnection();
Statement stmt=conn.createStatement();
request.setCharacterEncoding("gb2312");
String username=request.getParameter("nuserame");
String password1=request.getParameter("password1");
String password2=request.getParameter("password2");
String nicheng=request.getParameter("nicheng");
String str="select * from two where username='"+username+"'";
ResultSet rs=stmt.executeQuery(str);
if(!rs.next())
{
try
{
PreparedStatement pstmt=conn.prepareStatement("insert into two (username,password,nicheng) values(?,?,?)");
pstmt.setString(1,username);
pstmt.setString(2,password1);
pstmt.setString(3,nicheng);
pstmt.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
}
response.sendRedirect("login.html");
/*out.println("<script language='javascript'>alert('注册成功');parent.location.href='login.html';</script>");*/
conn.close();
stmt.close();
rs.close();
}
else
{
response.sendRedirect("failure.jsp");
/*out.println("<script language='javascript'>alert('用户名已经存在');parent.location.href='zhuce.html';</script>");*/
conn.close();
stmt.close();
rs.close();
}
%>