不抓老鼠的猫li 2017-06-30 01:07 采纳率: 50%
浏览 3966

java web项目本地运行正常发布到阿里云服务器上之后出错

 <%@ page language="java" import="java.util.*,db.DBLink,java.sql.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>

  <body>
    <%
    DBLink db=new DBLink("my_test_db");
    Connection con=db.getDefaultCon();
    Statement sta=con.createStatement();
    ResultSet rs=sta.executeQuery("select * from users");
    if(rs.next()){
        out.print(rs.getString(1)+" "+rs.getString(2));
    }
     %>
  </body>
</html>

//数据库连接
DBLink.java
package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DBLink {

    Connection con;
    Statement sta;
    ResultSet rs;
    PreparedStatement psta;
    ResultSetMetaData rsm;
    //119.23.240.242
    private String user = null, pwd = null, dataBaseName = "my_test_db", id = "localhost", port = "3306";

    public DBLink(String dataBaseName) {
        this.user = "root";
        this.pwd = "abc";
        this.dataBaseName = dataBaseName;
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
        }
    }

    public Connection getDefaultCon() {
        String uri = "jdbc:mysql://localhost:3306/" + dataBaseName+"?useUnicode=true&characterEncoding=utf-8&useSSL=false";
        setUser("root");
        setPwd("lfy");
        try {
            con = DriverManager.getConnection(uri, "root", "abc");
            return con;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;
        }
    }

}

java web在本地可以正常运行

图片说明

但是发布到阿里云服务器上就不能运行
图片说明

错误信息:

HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 27

type Exception report

message An exception occurred processing JSP page /index.jsp at line 27

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 27

24: <%
25: DBLink db=new DBLink("my_test_db");
26: Connection con=db.getDefaultCon();
27: Statement sta=con.createStatement();
28: ResultSet rs=sta.executeQuery("select * from users");
29: if(rs.next()){
30: out.print(rs.getString(1)+" "+rs.getString(2));

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:469)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

java.lang.NullPointerException
org.apache.jsp.index_jsp._jspService(index_jsp.java:126)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:431)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.18 logs.

  • 写回答

3条回答 默认 最新

  • 千杯不醉476 2017-06-30 01:11
    关注

    org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 27
    java.lang.NullPointerException
    27: Statement sta=con.createStatement();
    报错为27这一行,空指针异常
    26:Connection con=db.getDefaultCon();
    这一行的con,返回值为null,到27行,null.createStatement();当然是不行的,所以报了空指针异常。
    问题出在:数据库建立连接失败

    评论

报告相同问题?

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R