先上代码:
<%@ page contentType="text/html;charset=GBK"%>
<%@page import="java.sql.*"%>
<%!public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
public static final String DBURL = "jdbc:mysql://127.0.0.1:3306/test";
public static final String DBUSER = "";
public static final String DBPASS = "";
%>
<%
Connection conn=null;
PreparedStatement pstmt = null;
ResultSet rs = null;
%>
<%
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql = "SELECT userName,passWord From user";
pstmt =conn.prepareStatement(sql);
rs = pstmt.executeQuery();
}catch(Exception ex){
System.out.println("连接数据库错误");
}
%>就在conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
这过不了,我删掉后面的,在这用catch后台就打印 “连接数据库错误了”
这句有什么错呢?我刚安的MYQSL 打开,直接按个回车就进入了 下面建了一个test数据库。
在这过程中,WEB页面是白的哈,没任何反应
<%@ page contentType="text/html;charset=GBK"%>
<%@page import="java.sql.*"%>
<%!public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
public static final String DBURL = "jdbc:mysql://127.0.0.1:3306/test";
public static final String DBUSER = "";
public static final String DBPASS = "";
%>
<%
Connection conn=null;
PreparedStatement pstmt = null;
ResultSet rs = null;
%>
<%
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql = "SELECT userName,passWord From user";
pstmt =conn.prepareStatement(sql);
rs = pstmt.executeQuery();
}catch(Exception ex){
System.out.println("连接数据库错误");
}
%>就在conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
这过不了,我删掉后面的,在这用catch后台就打印 “连接数据库错误了”
这句有什么错呢?我刚安的MYQSL 打开,直接按个回车就进入了 下面建了一个test数据库。
在这过程中,WEB页面是白的哈,没任何反应
解决方案 »
- JSP连接数据库问题(在线等)
- 怎么可以在iframe中显示src指定action返回的jsp页面?
- Java切换Linux用户
- resin-3.0.8中文显示问题(急)开始能正确显示,重启resin后,同样的页面出现乱码!
- 请教关于javabeans的问题(在线等!!!!)
- Memcached session共享
- 姓名规则的校验问题!求大神~~~
- 在jsp页面中怎样将request传到下一个页面
- 请问: nvarchar 值 '200310130001' 的转换溢出了 INT1 列。请使用较大的整数列?
- 小问题一个,如何再jsp中调用我自己写的java类
- java框架ssh 对比??
- 请问怎么通过js给textarea赋值?????
这句话非常不好,隐藏了真实错误信息:
System.out.println("连接数据库错误");
修改为:
ex.printStackTrace();
public static final String DBPASS = "";
用户名密码为什么空、
因为安装mysql时候,如果没有指定密码,那root用户密码为空,你必须手动更改密码。
1、你必须给root更改密码,默认密码是不行的。
2、ex.printStackTrace();
这样的异常,你在控制台就可以看到呀。
如果你希望打到log中,则用log4j
lureThe last packet sent successfully to the server was 0 milliseconds ago. The driv
er has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1
116)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2332)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2
369)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:305)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.jsp.check_jsp._jspService(check_jsp.java:73)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:417)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
91)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:100)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:380)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
t.java:288)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.ja
va:257)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:294)
... 36 more
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.00 sec)
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.00 sec)
端口是对的吗???
2、你的mysql驱动jar比较奇怪,你换一个mysql自己的jar,试试。
2、把test数据库替换为mysql系统的一个数据库,比如mysql,看看是否可以正常连接上
这句话过不了,哪里面哪有错呢
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fai
lureThe last packet sent successfully to the server was 0 milliseconds ago. The driv
er has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
String user="root";
String password="";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url,user,password);
Statement stm = conn.createStatement();
另外, 报异常时候将资源关闭。
再给个finally,关闭资源
恩,谢谢,问题解决了,这句话的错,我改成了public static final String DBURL = "jdbc:mysql://localhost:3306/test";
但我还是不知道,为什么127.0.0.1它就不认
public static final String DBURL = "jdbc:mysql://127.0.0.1:3306/students";
这是为什么呢
我之前问过你,127.0.0.1/localhost/ip这三者,你在本地mysql客户端是否都可以正常登陆mysql,你说都可以。你确定都可以?
一般而言,默认情况下,root好像只可以通过localhost访问,ip是不可以的,是没有权限,需要修改myslq配置文件。
如果我要在服务器上发布,是不是还要改一下用户名root呢?假设数据库不在服务器本机
你在服务器上面部署war,那你数据库是否也在服务器本机?
不管服务器在那里,你要确认的是;
1、数据库的root密码是否和你java中配置的一样?
2、如果数据库和你部署的服务器是用一台机器,那么使用localhost没有问题,要是不在同一台,可能需要改mysql配置,保证ip可以访问。linux中,经常出现这个问题。不知道你的服务器是不是linux
org.apache.jasper.JasperException: /foreach.jsp(40,0) Unterminated <c:forEach tag
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:132)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1675)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1002)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1274)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1450)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:239)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:197)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:365)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:345)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:342)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)代码是:<%@page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page import="upload1.Bean"%>
<%
Cllection users = new ArrayList();
for(int i=0;i<6;i++){
Bean user = new Bean;
user.setUserName("name"+i);
user.setPassword("password000"+i);
user.setAge("20");
users.add(user);
}
session.setAttribute("users",users);
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>选择</td>
<td>用户名</td>
<td>密码</td>
<td>年龄</td></tr>
<c:forEach var="users" items="${users}">
<tr>
<td>
<input name="checkbox" type="checkbox" value="checkbox"/>
</td>
<td>
<c:out value="$(users.userName)"/>
</td>
<td>
<c:out value="$(users.password)"/>
</td>
<td>
<c:out value="$(users.age)"/>
</td>
</tr>
</forEach>
</table>