index.jsp:
<%@ page language="java" import="java.sql.*" import="java.util.*"
pageEncoding="GBK"%>
<jsp:useBean id="con" class="com.pkh.dao.UserDao" scope="page"></jsp:useBean>
<html>
<head>
<title>通过JDBC连接SQL Server数据库</title>
</head>
<body>
<%
if (con.Connection()) {
out.println("数据库连接成功!");
} else {
out.println("数据库连接失败!");
}
%>
<br>
<%
ResultSet Rs= con.selectStatic("select * from tb_ClassList");
%>
<%
for (int i = 0; i < 2; i++) {
Rs.next();
%>
<table>
<tr>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CID")%></div> </td>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CName")%></div> </td>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CStartDate")%></div> </td>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CPeriod")%></div> </td>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CType")%></div> </td>
</tr>
</table>
<%
}
%>
</body>
</html>
UserDao.java:
package com.pkh.dao;
import java.sql.*;
public class UserDao {
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_database04";
String username="Ming";
String password="1536248654";
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;
public UserDao() { //通过构造方法加载数据库驱动
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (Exception ex) {
System.out.println("数据库加载失败");
}
} public boolean Connection() { //创建数据库连接
try {
con = DriverManager.getConnection(url, username, password); } catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("creatConnectionError!");
}
return true;
}
//对数据库的查询操作
public ResultSet selectStatic(String sql) throws SQLException {
ResultSet rs=null;
if (con == null) {
Connection();
}
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
//更新数据库
public boolean executeUpdate(String sql) {
if (con == null) {
Connection();
}
try {
stmt = con.createStatement();
int iCount = stmt.executeUpdate(sql);
System.out.println("操作成功,所影响的记录数为" + String.valueOf(iCount));
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
closeConnection();
return true;
}
//关闭数据库的操作
public void closeConnection() {
if (con != null && stmt != null && rs != null) {
try {
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Failed to close connection!");
} finally {
con = null;
}
}
}
}
CharacterEncodingFilter.java:
package com.pkh.charset;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class CharacterEncodingFilter implements Filter{ protected String encoding = null;
protected FilterConfig filterConfig = null; public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("GBK");
} public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (encoding != null) {
request.setCharacterEncoding(encoding);
response.setContentType("text/html; charset="+encoding);
}
chain.doFilter(request, response);
}
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
}
错误信息:
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
creatConnectionError!
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
creatConnectionError!
2011-12-19 20:37:39 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at com.pkh.dao.UserDao.selectStatic(UserDao.java:44)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.pkh.charset.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
求高人解答了= =我看得头都大了还是弄不出
<%@ page language="java" import="java.sql.*" import="java.util.*"
pageEncoding="GBK"%>
<jsp:useBean id="con" class="com.pkh.dao.UserDao" scope="page"></jsp:useBean>
<html>
<head>
<title>通过JDBC连接SQL Server数据库</title>
</head>
<body>
<%
if (con.Connection()) {
out.println("数据库连接成功!");
} else {
out.println("数据库连接失败!");
}
%>
<br>
<%
ResultSet Rs= con.selectStatic("select * from tb_ClassList");
%>
<%
for (int i = 0; i < 2; i++) {
Rs.next();
%>
<table>
<tr>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CID")%></div> </td>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CName")%></div> </td>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CStartDate")%></div> </td>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CPeriod")%></div> </td>
<td>
<div align="left" class="STYLE1"><%=Rs.getString("CType")%></div> </td>
</tr>
</table>
<%
}
%>
</body>
</html>
UserDao.java:
package com.pkh.dao;
import java.sql.*;
public class UserDao {
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_database04";
String username="Ming";
String password="1536248654";
private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;
public UserDao() { //通过构造方法加载数据库驱动
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (Exception ex) {
System.out.println("数据库加载失败");
}
} public boolean Connection() { //创建数据库连接
try {
con = DriverManager.getConnection(url, username, password); } catch (SQLException e) {
System.out.println(e.getMessage());
System.out.println("creatConnectionError!");
}
return true;
}
//对数据库的查询操作
public ResultSet selectStatic(String sql) throws SQLException {
ResultSet rs=null;
if (con == null) {
Connection();
}
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
//更新数据库
public boolean executeUpdate(String sql) {
if (con == null) {
Connection();
}
try {
stmt = con.createStatement();
int iCount = stmt.executeUpdate(sql);
System.out.println("操作成功,所影响的记录数为" + String.valueOf(iCount));
} catch (SQLException e) {
System.out.println(e.getMessage());
return false;
}
closeConnection();
return true;
}
//关闭数据库的操作
public void closeConnection() {
if (con != null && stmt != null && rs != null) {
try {
rs.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Failed to close connection!");
} finally {
con = null;
}
}
}
}
CharacterEncodingFilter.java:
package com.pkh.charset;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class CharacterEncodingFilter implements Filter{ protected String encoding = null;
protected FilterConfig filterConfig = null; public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("GBK");
} public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (encoding != null) {
request.setCharacterEncoding(encoding);
response.setContentType("text/html; charset="+encoding);
}
chain.doFilter(request, response);
}
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
}
错误信息:
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
creatConnectionError!
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
creatConnectionError!
2011-12-19 20:37:39 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at com.pkh.dao.UserDao.selectStatic(UserDao.java:44)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.pkh.charset.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
求高人解答了= =我看得头都大了还是弄不出
解决方案 »
- 自加与乘除的优先级问题
- 纠结的问题
- 跪求网页中图片播放器的制作实例
- form中的值不能填入相应的actionform中(急急..............)
- 解析XML是遇到了非法字符串,郁闷死我了!!!!!!
- java多线程问题
- 对map怎么排序
- [再发:]请教petri网和工作流引擎的问题
- 关于spring的事务问题
- 急!用Tomcat5.0.28配置连接池,运行后出现javax.naming.NameNotFoundException: Name java:comp is not bound in this Context
- websphere 调用webservice后session丢失
- jdbc更新操作错哪里了?
在jsp里没有con.Connection的包含和声明,引用,就直接开始用了
我也是新手 答错莫怪
public ResultSet selectStatic(String sql) throws SQLException {
ResultSet rs=null;
if (con == null) {
Connection();
}
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
你看看你的异常处理 又有try 又有throws 你看看 吧
你的判断是 不管有没有异常 你都是连接成功。先保证连接对不对
Connection 你这个方法明显有问题。 连接失败 没看到你有return false。
提示老是说这个错误: stmt = con.createStatement();,没连接成功不知道为啥那= =