Magical_Y_Moon 2019-12-16 16:13 采纳率: 0%
浏览 592

HTTP Status 500 – Internal Server Error(jspmaker生成,tomcat实现)

内容是用Jspmaker把数据库表生成jsp,然后用tomcat,结果出现了以下问题
网站报错代码如下:
HTTP Status 500 – Internal Server ErrorType 异常报告
消息 在 [146] 行处理 [/jspmoon/customerlist.jsp] 时发生异常
描述 服务器遇到一个意外的情况,阻止它完成请求。
Exception
org.apache.jasper.JasperException: 在 [146] 行处理 [/jspmoon/customerlist.jsp] 时发生异常
143: // Open Connection to the database
144: try{
145: Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
146: ResultSet rs = null;
147: // Build SQL
148: String strsql = "SELECT * FROM customer";
149: whereClause = "";
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause
java.lang.NullPointerException
org.apache.jsp.jspmoon.customerlist_jsp._jspService(customerlist_jsp.java:585)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看
Apache Tomcat/8.5.50

jsp代码:
<%@ page session="true" buffer="16kb" import="java.sql.*,java.util.*,java.text.*"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<%
response.setDateHeader("Expires", 0); // date in the past
response.addHeader("Cache-Control", "no-store, no-cache, must-revalidate"); // HTTP/1.1
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.addHeader("Pragma", "no-cache"); // HTTP/1.0
%>
<% Locale locale = Locale.getDefault();
response.setLocale(locale);%>
<% session.setMaxInactiveInterval(30*60); %>
<%@ include file="db.jsp" %>
<%@ include file="jspmkrfn.jsp" %>
<%
int displayRecs = 20;
int recRange = 10;
%>
<%
String tmpfld = null;
String escapeString = "\\'";
String dbwhere = "";
String masterdetailwhere = "";
String searchwhere = "";
String a_search = "";
String b_search = "";
String whereClause = "";
int startRec = 0, stopRec = 0, totalRecs = 0, recCount = 0;
%>
<%
// Get search criteria for basic search
String pSearch = request.getParameter("psearch");
String pSearchType = request.getParameter("psearchtype");
if (pSearch != null && pSearch.length() > 0) {
pSearch = pSearch.replaceAll("'",escapeString);
if (pSearchType != null && pSearchType.length() > 0) {
while (pSearch.indexOf(" ") > 0) {
pSearch = pSearch.replaceAll(" ", " ");
}
String [] arpSearch = pSearch.trim().split(" ");
for (int i = 0; i < arpSearch.length; i++){
String kw = arpSearch[i].trim();
b_search = b_search + "(";
b_search = b_search + "C_NAME LIKE '%" + kw + "%' OR ";
b_search = b_search + "C_ADDRESS LIKE '%" + kw + "%' OR ";
b_search = b_search + "C_PHONE LIKE '%" + kw + "%' OR ";
b_search = b_search + "C_MATSEGMENT LIKE '%" + kw + "%' OR ";
b_search = b_search + "C_COMMENT LIKE '%" + kw + "%' OR ";
if (b_search.substring(b_search.length()-4,b_search.length()).equals(" OR ")) { b_search = b_search.substring(0,b_search.length()-4);}
b_search = b_search + ") " + pSearchType + " ";
}
}else{
b_search = b_search + "C_NAME LIKE '%" + pSearch + "%' OR ";
b_search = b_search + "C_ADDRESS LIKE '%" + pSearch + "%' OR ";
b_search = b_search + "C_PHONE LIKE '%" + pSearch + "%' OR ";
b_search = b_search + "C_MATSEGMENT LIKE '%" + pSearch + "%' OR ";
b_search = b_search + "C_COMMENT LIKE '%" + pSearch + "%' OR ";
}
}
if (b_search.length() > 4 && b_search.substring(b_search.length()-4,b_search.length()).equals(" OR ")) {b_search = b_search.substring(0, b_search.length()-4);}
if (b_search.length() > 5 && b_search.substring(b_search.length()-5,b_search.length()).equals(" AND ")) {b_search = b_search.substring(0, b_search.length()-5);}
%>
<%
// Build search criteria
if (a_search != null && a_search.length() > 0) {
searchwhere = a_search; // Advanced search
}else if (b_search != null && b_search.length() > 0) {
searchwhere = b_search; // Basic search
}
// Save search criteria
if (searchwhere != null && searchwhere.length() > 0) {
session.setAttribute("customer_searchwhere", searchwhere);
startRec = 1; // Reset start record counter (new search)
session.setAttribute("customer_REC", new Integer(startRec));
}else{
if (session.getAttribute("customer_searchwhere") != null)
searchwhere = (String) session.getAttribute("customer_searchwhere");
}
%>
<%

// Get clear search cmd
startRec = 0;
if (request.getParameter("cmd") != null && request.getParameter("cmd").length() > 0) {
String cmd = request.getParameter("cmd");
if (cmd.toUpperCase().equals("RESET")) {
searchwhere = ""; // Reset search criteria
session.setAttribute("customer_searchwhere", searchwhere);
}else if (cmd.toUpperCase().equals("RESETALL")) {
searchwhere = ""; // Reset search criteria
session.setAttribute("customer_searchwhere", searchwhere);
}
startRec = 1; // Reset start record counter (reset command)
session.setAttribute("customer_REC", new Integer(startRec));
}
// Build dbwhere
if (masterdetailwhere != null && masterdetailwhere.length() > 0) {
dbwhere = dbwhere + "(" + masterdetailwhere + ") AND ";
}
if (searchwhere != null && searchwhere.length() > 0) {
dbwhere = dbwhere + "(" + searchwhere + ") AND ";
}
if (dbwhere != null && dbwhere.length() > 5) {
dbwhere = dbwhere.substring(0, dbwhere.length()-5); // Trim rightmost AND
}
%>
<%

// Load Default Order
String DefaultOrder = "";
String DefaultOrderType = "";

// No Default Filter
String DefaultFilter = "";

// Check for an Order parameter
String OrderBy = request.getParameter("order");
if (OrderBy != null && OrderBy.length() > 0) {
if (session.getAttribute("customer_OB") != null &&
((String) session.getAttribute("customer_OB")).equals(OrderBy)) { // Check if an ASC/DESC toggle is required
if (((String) session.getAttribute("customer_OT")).equals("ASC")) {
session.setAttribute("customer_OT", "DESC");
}else{
session.setAttribute("customer_OT", "ASC");
}
}else{
session.setAttribute("customer_OT", "ASC");
}
session.setAttribute("customer_OB", OrderBy);
session.setAttribute("customer_REC", new Integer(1));
}else{
OrderBy = (String) session.getAttribute("customer_OB");
if (OrderBy == null || OrderBy.length() == 0) {
OrderBy = DefaultOrder;
session.setAttribute("customer_OB", OrderBy);
session.setAttribute("customer_OT", DefaultOrderType);
}
}

// Open Connection to the database
try{
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = null;
// Build SQL
String strsql = "SELECT * FROM customer";
whereClause = "";
if (DefaultFilter.length() > 0) {
whereClause = whereClause + "(" + DefaultFilter + ") AND ";
}
if (dbwhere.length() > 0) {
whereClause = whereClause + "(" + dbwhere + ") AND ";
}
if (whereClause.length() > 5 && whereClause.substring(whereClause.length()-5, whereClause.length()).equals(" AND ")) {
whereClause = whereClause.substring(0, whereClause.length()-5);
}
if (whereClause.length() > 0) {
strsql = strsql + " WHERE " + whereClause;
}
if (OrderBy != null && OrderBy.length() > 0) {
strsql = strsql + " ORDER BY " + OrderBy + " " + (String) session.getAttribute("customer_OT");
}

//out.println(strsql);
rs = stmt.executeQuery(strsql);
rs.last();
totalRecs = rs.getRow();
rs.beforeFirst();
startRec = 0;
int pageno = 0;

// Check for a START parameter
if (request.getParameter("start") != null && Integer.parseInt(request.getParameter("start")) > 0) {
startRec = Integer.parseInt(request.getParameter("start"));
session.setAttribute("customer_REC", new Integer(startRec));
}else if (request.getParameter("pageno") != null && Integer.parseInt(request.getParameter("pageno")) > 0) {
pageno = Integer.parseInt(request.getParameter("pageno"));
if (IsNumeric(request.getParameter("pageno"))) {
startRec = (pageno-1)*displayRecs+1;
if (startRec <= 0) {
startRec = 1;
}else if (startRec >= ((totalRecs-1)/displayRecs)*displayRecs+1) {
startRec = ((totalRecs-1)/displayRecs)*displayRecs+1;
}
session.setAttribute("customer_REC", new Integer(startRec));
}else {
startRec = ((Integer) session.getAttribute("customer_REC")).intValue();
if (startRec <= 0) {
startRec = 1; // Reset start record counter
session.setAttribute("customer_REC", new Integer(startRec));
}
}
}else{
if (session.getAttribute("customer_REC") != null)
startRec = ((Integer) session.getAttribute("customer_REC")).intValue();
if (startRec==0) {
startRec = 1; //Reset start record counter
session.setAttribute("customer_REC", new Integer(startRec));
}
}
%>
<%@ include file="header.jsp" %>

TABLE: customer

Quick Search (*)   Show all
  Exact phrase  All words  Any word
total records if (startRec > totalRecs) { startRec = totalRecs; } // Set the last record to display stopRec = startRec + displayRecs - 1; // Move to first record directly for performance reason recCount = startRec - 1; if (rs.next()) { rs.first(); rs.relative(startRec - 1); } long recActual = 0; if (startRec == 1) rs.beforeFirst(); else rs.previous(); while (rs.next() && recCount = startRec) { recActual++; %>
" style="color: #FFFFFF;">C CUSTKEY 56 " style="color: #FFFFFF;">C NAME (*)56 " style="color: #FFFFFF;">C ADDRESS (*)56 " style="color: #FFFFFF;">C NATIONKEY 56 " style="color: #FFFFFF;">C PHONE (*)56 " style="color: #FFFFFF;">C ACCTBAL 56 " style="color: #FFFFFF;">C MATSEGMENT (*)56 " style="color: #FFFFFF;">C COMMENT (*)56        
                0) { out.print("customerview.jsp?key=" + java.net.URLEncoder.encode(key,"UTF-8")); }else{ out.print("javascript:alert('Invalid Record! Key is null');"); } %>">View 0) { out.print("customeredit.jsp?key=" + java.net.URLEncoder.encode(key,"UTF-8")); }else{ out.print("javascript:alert('Invalid Record! Key is null');"); } %>">Edit 0) { out.print("customeradd.jsp?key=" + java.net.URLEncoder.encode(key,"UTF-8")); }else{ out.print("javascript:alert('Invalid Record! Key is null');"); } %>">Copy 0) { out.print("customerdelete.jsp?key=" + java.net.URLEncoder.encode(key,"UTF-8")); }else{ out.print("javascript:alert('Invalid Record! Key is null');"); } %>">Delete

<%

// Close recordset and connection
rs.close();
rs = null;
stmt.close();
stmt = null;
conn.close();
conn = null;
}catch(SQLException ex){
out.println(ex.toString());
}
%>

0) { rsEof = (totalRecs totalRecs) { NextStart = startRec;} int LastStart = ((totalRecs-1)/displayRecs)*displayRecs+1; %>
Page  First First Previous Previous Next Next Last Last Add new  of


<% if (startRec > totalRecs) { startRec = totalRecs;}
stopRec = startRec + displayRecs - 1;
recCount = totalRecs - 1;
if (rsEof) { recCount = totalRecs;}
if (stopRec > recCount) { stopRec = recCount;} %>
Records <%= startRec %> to <%= stopRec %> of <%= totalRecs %>
<% }else{ %>
No records found

Add new

<% } %>


<%@ include file="footer.jsp" %>
  • 写回答

1条回答 默认 最新

  • 灵动领域 2019-12-17 09:23
    关注

    应该是数据库连接问题,看下用户名、密码和数据库连接设置这些。

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?