连接Mysql出了问题,高手赐教!加急.......

Ku_wan 2009-03-22 02:23:00
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: Exception in JSP: /test.jsp:13

10:
11: String url ="jdbc:mysql:// localhost /test?user=root&password=123456&useUnicode=true&characterEncoding=8859_1";
12:
13: Connection conn= DriverManager.getConnection(url);
14:
15: Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
16:


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)


root cause

javax.servlet.ServletException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.UnknownHostException
MESSAGE: localhost

STACKTRACE:

java.net.UnknownHostException: localhost
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source)
at java.net.InetAddress.getAddressFromNameService(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:137)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2569)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.jsp.test_jsp._jspService(test_jsp.java:55)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)


** END NESTED EXCEPTION **




...全文
586 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenluozhi 2009-12-06
  • 打赏
  • 举报
回复
太高深了,天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
特制蛋炒饭 2009-06-09
  • 打赏
  • 举报
回复
路过。。。
yy7826155 2009-05-21
  • 打赏
  • 举报
回复
重新装一下应该能解决问题吧
ft170897 2009-04-10
  • 打赏
  • 举报
回复
conn=DriverManager(加载驱动).getconn(连接数据库)("jdbc:sqlserver://localhost:1413(端口);databaseName=数据库名","进入数据库名(sa)","密码")
Study_Work_2009 2009-03-23
  • 打赏
  • 举报
回复
long9299 2009-03-22
  • 打赏
  • 举报
回复
[button value="顶"][/button]
long9299 2009-03-22
  • 打赏
  • 举报
回复

String url="jdbc:mysql://localhost:3306/mysql?user=root&password=root&useUnicode=true&characterEncoding=8859_1";

yxb1986java 2009-03-22
  • 打赏
  • 举报
回复
应该是url 写错了
应该加上端口号, 默认的为3306
forthejsp 2009-03-22
  • 打赏
  • 举报
回复
应该是配置信息的问题 没记错的话servel.xml文件下有
webapps\"你应用的名称"\字段 打引号字段有三种连接方式 默认应该是web 改成tomcat应该就好了
SunyKing 2009-03-22
  • 打赏
  • 举报
回复
最后发现貌似你好像是String url="jdbc:mysql://localhost:3306/mysql?user=root&password=root&useUnicode=true&characterEncoding=8859_1";
中的端口3306的问题,这个要加mysql的连接端口
grysoft 2009-03-22
  • 打赏
  • 举报
回复
重装MYSQL试试
SunyKing 2009-03-22
  • 打赏
  • 举报
回复
我将我的驱动jar包在classpath中的设置为:%MYSQL_JDBC_HOME%\lib\mysql-connector-java-5.1.7-bin.jar;
用哪个你的那个测试程序得到的结果:
您的第一个字段内容为: localhost 您的第二个字段内容为: root 数据库操作成功,恭喜你
Ku_wan 2009-03-22
  • 打赏
  • 举报
回复
感谢6楼和7楼给了我正解!主要有两处问题!
一是:String url="jdbc:mysql://localhost:3306/mysql?user=root&password=root&useUnicode=true&characterEncoding=8859_1";
Class.forName("com.mysql.jdbc.Driver").newInstance();


String sql="select * from login";login改成user
二是:驱动jar包在classpath中的设置,这点,一般教程或是网上的资料都说的比较模糊,对向我这样的初学者很不利,其实这点比较重要。
就是要将你的jdbc驱动存放的路径,在 系统属性->高级->环境变量->系统变量 中设置一下。一般需要新建一个变量名classpath,变量值为路径。


就此两点让我搞了四天,合计时间超过40小时。但我感受到了成功后的喜悦,比较值得!!
看来我又从新拾回对编程的兴趣了,时隔两年的我将以QBASIC语言的先驱,重新投入到编程的快乐中!!!


祝我好运!!
SunyKing 2009-03-22
  • 打赏
  • 举报
回复
Connection conn=null;
String url="jdbc:mysql://localhost:3306/mysql?user=root&password=root&useUnicode=true&characterEncoding=8859_1";
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn=DriverManager.getConnection(url);


我跟你有不一样的地方,反正我能连上
Ku_wan 2009-03-22
  • 打赏
  • 举报
回复
我终于成功了,太激动了,搞了四天,终于看到成就了!有点激动,身上都冒汗了。第一时间与大家分享!!!!感谢各位大虾的帮助!小弟在次不胜感激!!!!
ejb_structs 2009-03-22
  • 打赏
  • 举报
回复
String url="jdbc:mysql://localhost:3306/mysql?user=root&password=root&useUnicode=true&characterEncoding=8859_1"; 这里应该是ISO8859-1吧。
老紫竹 2009-03-22
  • 打赏
  • 举报
回复
java.net.UnknownHostException: localhost
把你的url里面的 localhost改成 127.0.0.1
String url ="jdbc:mysql:// localhost /test?user=root&password=123456&useUnicode=true&characterEncoding=8859_1";
==》
String url ="jdbc:mysql://127.0.0.1/test?user=root&password=123456&useUnicode=true&characterEncoding=8859_1"; 
wanghao1987 2009-03-22
  • 打赏
  • 举报
回复
"就是看不到结果,已经搞了四个多小时了!很郁闷!网上说要将驱动加载到classpath中,不懂怎么搞!望高手赐教!
初学者。。。。。。。。"


不是将驱动加载到classpath ,而是将mysql的驱动jar包,放入tomcat的如下目录下:\webapps\你应用的名称\WEB-INF\lib下
萧学森 2009-03-22
  • 打赏
  • 举报
回复
装的时候没有配置好信息。。。重新卸载,装。。。
Ku_wan 2009-03-22
  • 打赏
  • 举报
回复
又出现了如下问题!


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: Exception in JSP: /test.jsp:19

16:
17: String sql="select * from login";
18:
19: ResultSet rs=stmt.executeQuery(sql);
20:
21: while(rs.next()) {%>
22:


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

加载更多回复(5)

81,094

社区成员

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

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