弄了个数据库的连接,思路很简单,但是出错了,检查来检查去唔知有什么问题,请各位看看,一共三个JSP,一个为factorydb.jsp,用于数据库连接,一个stubiz.jsp用于操作数据库,一个list.jsp用于显示页面,我用MyEclipse8.5操作执行,代码如下: factory.jsp<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%!
public static Connection getConnection(){
String user="root";
String pwd="root";
String url="jdbc:mysql://localhost/stu?characterEncoding=UTF-8";
Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
System.out.println("数据库连接失败");
}
try{
con=DriverManager.getConnection(url,user,pwd);
}catch(Exception e){
System.out.println("数据库连接失败");
}
return con;
}
public boolean executesql(String sql){
Connection conn=getConnection();
boolean flag=false;
Statement stmt=null;
try{
stmt=conn.createStatement();
stmt.executeUpdate(sql);
flag=true;
}catch(Exception e){
e.printStackTrace();
}
finally{
close(stmt,conn);
}
return flag;
}
public static void close(ResultSet rs,Statement stmt,Connection conn)
{
close(rs);
close(stmt);
close(conn);
}
public static void close(Statement stmt,Connection conn)
{
close(stmt);
close(conn);
}
public static void close(Connection conn){
try{
if(conn!=null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void close(ResultSet rs){
try{
if(rs!=null){
rs.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void close(Statement stmt){
try{
if(stmt!=null){
stmt.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
%>stubiz.jsp<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<%@ include file=factorydb.jsp %>
<%!
public List getAllStudent(int model,String id)throws Exception{
List lst=new ArrayList();
Connection conn=getConnection();
String sql="";
if(model==0)
sql="select * from student";
else
sql="select * from student where id="+id;
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
String[] str=new String[4];
str[0]=rs.getInt("id")+"";
str[1]=rs.getString("name");
str[2]=rs.getString("classGrent");
str[3]=rs.getString("result");
lst.add(str);
}
return lst;
}
public boolean insert(String name,String grent,String result)
{
String sql="insert into 'student'('name','classGrent','result')values('"+name+"','"+grent+"','"+result+"')";
return executesql(sql);
}
public boolean delebyId(String id)
{
String sql="delete from student where id="+id;
return executesql(sql);
}
public boolean update(String id,String name,String grent,String result)
{
String sql="update student set name='"+name+"',classGrent='"+grent+"',result='"+result+"' where id="+id;
System.out.println(sql);
return executesql(sql);
}
public String[] getStuById(String id)throws Exception{
return (String[])getAllStudent(1,id).get(0);
}
%>
list.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="stubiz.jsp" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'list.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">
</head>
<body>
<p>添加
</p>
<table width="451" border="1">
<tr>
<th >姓名</th>
<th >班级</th>
<th >成绩</th>
<th >修改</th>
<th >删除</th>
</tr>
<%
List lst=getAllStudent(0,"");
for(int i=0;i<lst.size();i++){
String[] str=(String[])lst.get(i);
%>
<tr>
<td><%=str[1]%></td>
<td><%=str[2]%></td>
<td><%=str[3]%></td>
<td>修改</td>
<td>删除</td>
</tr>
<%
}
%>
</table>
<p> </p>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%!
public static Connection getConnection(){
String user="root";
String pwd="root";
String url="jdbc:mysql://localhost/stu?characterEncoding=UTF-8";
Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
System.out.println("数据库连接失败");
}
try{
con=DriverManager.getConnection(url,user,pwd);
}catch(Exception e){
System.out.println("数据库连接失败");
}
return con;
}
public boolean executesql(String sql){
Connection conn=getConnection();
boolean flag=false;
Statement stmt=null;
try{
stmt=conn.createStatement();
stmt.executeUpdate(sql);
flag=true;
}catch(Exception e){
e.printStackTrace();
}
finally{
close(stmt,conn);
}
return flag;
}
public static void close(ResultSet rs,Statement stmt,Connection conn)
{
close(rs);
close(stmt);
close(conn);
}
public static void close(Statement stmt,Connection conn)
{
close(stmt);
close(conn);
}
public static void close(Connection conn){
try{
if(conn!=null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void close(ResultSet rs){
try{
if(rs!=null){
rs.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void close(Statement stmt){
try{
if(stmt!=null){
stmt.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
%>stubiz.jsp<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<%@ include file=factorydb.jsp %>
<%!
public List getAllStudent(int model,String id)throws Exception{
List lst=new ArrayList();
Connection conn=getConnection();
String sql="";
if(model==0)
sql="select * from student";
else
sql="select * from student where id="+id;
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
String[] str=new String[4];
str[0]=rs.getInt("id")+"";
str[1]=rs.getString("name");
str[2]=rs.getString("classGrent");
str[3]=rs.getString("result");
lst.add(str);
}
return lst;
}
public boolean insert(String name,String grent,String result)
{
String sql="insert into 'student'('name','classGrent','result')values('"+name+"','"+grent+"','"+result+"')";
return executesql(sql);
}
public boolean delebyId(String id)
{
String sql="delete from student where id="+id;
return executesql(sql);
}
public boolean update(String id,String name,String grent,String result)
{
String sql="update student set name='"+name+"',classGrent='"+grent+"',result='"+result+"' where id="+id;
System.out.println(sql);
return executesql(sql);
}
public String[] getStuById(String id)throws Exception{
return (String[])getAllStudent(1,id).get(0);
}
%>
list.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="stubiz.jsp" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'list.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">
</head>
<body>
<p>添加
</p>
<table width="451" border="1">
<tr>
<th >姓名</th>
<th >班级</th>
<th >成绩</th>
<th >修改</th>
<th >删除</th>
</tr>
<%
List lst=getAllStudent(0,"");
for(int i=0;i<lst.size();i++){
String[] str=(String[])lst.get(i);
%>
<tr>
<td><%=str[1]%></td>
<td><%=str[2]%></td>
<td><%=str[3]%></td>
<td>修改</td>
<td>删除</td>
</tr>
<%
}
%>
</table>
<p> </p>
</body>
</html>
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
System.out.println("数据库连接失败");
}
try{
con=DriverManager.getConnection(url,user,pwd);
}catch(Exception e){
System.out.println("数据库连接失败");
}
这两个东西不要分开写
还有端口不要搞忘了
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){
System.out.println("数据库连接失败"+e.toString());
e.printStackTrace();
}
try{
con=DriverManager.getConnection(url,user,pwd);
}catch(Exception e){
System.out.println("数据库连接失败"+e.toString());
e.printStackTrace();
}看看具体的错误信息。
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:200)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:150)
org.apache.jasper.compiler.Parser.parseUseBean(Parser.java:955)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1138)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1448)
org.apache.jasper.compiler.Parser.parse(Parser.java:133)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.