HTTP Status 500 - type Exception report message description The server encountered an internal error
用jsp建立数据库时报这个错误。但是自己手动建立数据库,是可以在网页读取出来的。代码如下package org.sunxin.lesson.jsp.bookstore;
import javax.servlet.*;
import java.io.*;
import javax.servlet.http.*;
import java.sql.*;
public class CreateDBServlet extends HttpServlet
{
private String url;
private String user;
private String password;
public void init() throws ServletException
{
String driverClass=getInitParameter("driverClass");
url=getInitParameter("url");
user=getInitParameter("user");
password=getInitParameter("password");
try
{
Class.forName(driverClass);
}
catch(ClassNotFoundException ce)
{
throw new UnavailableException("加载数据库驱动失败!");
}
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException
{
Connection conn=null;
Statement stmt=null;
try
{
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
stmt.executeUpdate("create database bookstore");
stmt.executeUpdate("use bookstore");
stmt.executeUpdate("create table bookinfo(id INT not null primary key,title VARCHAR(50) not null,author VARCHAR(50) not null,bookconcern VARCHAR(100) not null,publish_date DATE not null,price FLOAT(4,2) not null,amount SMALLINT,remark VARCHAR(200)) ENGINE=InnoDB");
stmt.addBatch("insert into bookinfo values(1,'Java从入门到精通','张三','张三出版社','2004-6-1',34.00,35,null)");
stmt.addBatch("insert into bookinfo values(2,'JSP深入编程','李四','李四出版社','2004-10-1',56.00,20,null)");
stmt.addBatch("insert into bookinfo values(3,'J2EE高级编程','王五','王五出版社','2005-3-1',78.00,10,null)");
stmt.executeBatch();
PrintWriter out=resp.getWriter();
out.println("success!");
out.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
finally
{
if(stmt!=null)
{
try
{
stmt.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
stmt=null;
}
if(conn!=null)
{
try
{
conn.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
conn=null;
}
}
}
}
网页报错
user是用户名呀,后面是密码。url是说的JDBC url。我的是mysql,也就是JDBC:mysql://localhost:3306/databasename.用户名是root,密码是12345678,自己设置的
追答那你连接数据那应该填root和12345678 不然用户名和密码对不上 怎么去连数据库呢
追问
url
jdbc:mysql://localhost:3306/bookstore
user
root
你搜下配置文件里面的用户名和密码怎么设置吧 你有点迷糊了 你百度下
追问是不是该用标签???
追答不是
就是标签里面的用户名和密码 你重新建立一个新的项目 然后去看配置文件 可以看到原版的用户名和密码
mysql的用户名就是root呀,密码是自己设置的,这个错不了的呀,因为我可以读出数据的,只是建立,和写入有问题。
是get方式啊,我用的是getinitparameter()方法来得到诸如driverclass,url,user,password之类的数据。不需要dopost吧。
追答看看你的jsp页面的form中的action是用什么方法
追问没有jsp页面,用浏览器直接访问这个servlet,
CreateDBServlet
/createdb
把你初始化方法里的代码拿到外面看看
-----------------------------------------------
用doPost()方法........看看效果!!
已经解决了。。。谢谢!是因为在部署阶段,标签放置的位置有了一点小差错。。
本回答被提问者采纳