jsp网站出现500错误

mycoolweb 2010-07-30 11:49:59
我把自己做的jsp网站传到远程服务器上,现在只能访问静态页面,所有的动态页面都不能访问,出现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: /index.jsp:27

24: <div style="display:block;" class="pic_2">
25: <%
26:
27: List<Photos> listp = PhotosMgr.getInstance().getclasstop1Photos(2);
28: for(Iterator<Photos> it = listp.iterator(); it.hasNext(); ){
29: Photos p = it.next();
30: %>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

貌似我的class文件没有访问到,都没能被jsp页面import进来
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
这些没起作用。大侠们快点帮忙解决一下,现在网站都传上去了,用不了,急人啊。
...全文
303 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
asdfI 2010-08-17
  • 打赏
  • 举报
回复
为什么要用access连啊 sqlserver、mqsql、oracle不是更好么
mycoolweb 2010-07-30
  • 打赏
  • 举报
回复
各位大大们,我百般周折,终于搞清楚了在linux服务器上,不支持JDBC-ODBC桥连接,只能用jdbc直接连,但是我不会啊,高手们教教我吧,怎么用JDBC直接连access。最好给个能用的完整的例子,感激不尽。
mycoolweb 2010-07-30
  • 打赏
  • 举报
回复
忘了说了,服务器是linux的。不会jsp+access在linux上不能跑吧,客服都说他们空间是支持access2003的。
mycoolweb 2010-07-30
  • 打赏
  • 举报
回复
但是为什么本地测试是好的呢
玉麟龙 2010-07-30
  • 打赏
  • 举报
回复
是连接数据库的语句写的有问题吧!
mycoolweb 2010-07-30
  • 打赏
  • 举报
回复
这样的错误,好像是数据库出了问题
java.lang.NullPointerException
sun.jdbc.odbc.JdbcOdbcDriver.initialize(JdbcOdbcDriver.java:436)
sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:153)
java.sql.DriverManager.getConnection(DriverManager.java:525)
java.sql.DriverManager.getConnection(DriverManager.java:193)
com.travel.lvyou.DB.getConn(DB.java:33)
com.travel.lvyou.PhotosSQL.getclasstop1Photos(PhotosSQL.java:62)
com.travel.lvyou.PhotosMgr.getclasstop1Photos(PhotosMgr.java:36)
org.apache.jsp.index_jsp._jspService(index_jsp.java:201)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

我的数据库连接是这样写的,好像也没什么问题com.travel.lvyou.DB.getConn(DB.java:33)
这个说我的33行有问题,33行就是红色部分。请高手帮忙分析一下,在本地测试都是成功的,怎么传到服务器上就连接不上了?
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
import java.sql.*;

public class DB {
private static DB db;
private Statement stmt = null;
ResultSet rs = null;

static URL u = DB.class.getResource("travel.mdb");
static String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+u.getPath().replaceAll("%20"," ").replaceFirst("/", "");
static{
db = new DB();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e){
e.printStackTrace();
}
}

public DB(){}

public static Connection getConn(){
Statement stmt = null;
Connection conn = null;
// System.out.println(url);

try{
conn = DriverManager.getConnection(url); stmt = conn.createStatement();
} catch (SQLException e){
e.printStackTrace();
}
return conn;
}

public static void closeConn(Connection conn){
try {
if(conn != null){
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}

public static Statement getStmt(Connection conn){
Statement stmt = null;
try {
stmt = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return stmt;
}

public static PreparedStatement preparedStatement(Connection conn,String sql){
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public static PreparedStatement getPStmt(Connection conn,String sql){
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);

} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}

public static PreparedStatement getPStmt(Connection conn,String sql,boolean generatedKey){
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}

public static PreparedStatement getPreStmt(Connection conn,String sql){
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}

public static void closeStmt(Statement stmt){
try {
if(stmt != null){
stmt.close();
stmt = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}

public static ResultSet executeQuery(Statement stmt,String sql){
ResultSet rs=null;
try {
rs=stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}

public static ResultSet executeQuery(Connection conn,String sql){
ResultSet rs=null;
try {
rs=conn.createStatement().executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}

public static void executeUpdate(Connection conn,String sql){

try {
conn.createStatement().executeUpdate(sql);

} catch (SQLException e) {
e.printStackTrace();
}
}

public static void closeRS(ResultSet rs){
try {
if(rs != null){
rs.close();
rs = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}

public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}

public void updateQuery(String sql) {
try {
DB d = new DB();
stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
}


}

10,607

社区成员

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

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