老是提示exception org.apache.jasper.JasperException: Exception in JSP: /xml.jsp:3027:
28: stmt = conn.createStatement();
29: String sql = "SELECT * FROM user"+table_name;
30: rs = stmt.executeQuery(sql);
31:
32: // 设置表格的名字
33: String tableName = table_name.toUpperCase();
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
这是程序的源代码!
<%@ page contentType="text/xml; charset=gb2312" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%> <% Connection conn;
Statement stmt;
ResultSet rs; try{
String table_name = request.getParameter("tableName"); //mysql连接
Class.forName("com.mysql.jdbc.Driver").newInstance();
String URL="jdbc:mysql://localhost:3306/bbs?user=root&password=insect";
conn = DriverManager.getConnection(URL);
stmt = conn.createStatement();
String sql = "SELECT * FROM user"+table_name;
rs = stmt.executeQuery(sql); // 设置表格的名字
String tableName = table_name.toUpperCase(); //得到列的名字
ResultSetMetaData rsmd = rs.getMetaData();
int numColumns = rsmd.getColumnCount();
String[] columnNames = new String[numColumns];
for (int i = 0; i < numColumns; i++) {
columnNames[i] = rsmd.getColumnName(i + 1);
} response.setContentType("text/xml");
out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
out.write("<" + tableName + "s>");
//循环写入数据
while (rs.next()) {
out.write("<" + tableName + ">");
//每一行
for (int i = 0; i < numColumns; i++) {
out.write("<" + columnNames[i] + ">");
out.write(String.valueOf(rs.getObject(i + 1)));
out.write("</" + columnNames[i] + ">\n");
}
out.write("</" + tableName + ">");
}
out.write("</" + tableName + "s>");
rs.close();
conn.close();
}
finally{
}
%>
28: stmt = conn.createStatement();
29: String sql = "SELECT * FROM user"+table_name;
30: rs = stmt.executeQuery(sql);
31:
32: // 设置表格的名字
33: String tableName = table_name.toUpperCase();
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
这是程序的源代码!
<%@ page contentType="text/xml; charset=gb2312" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%> <% Connection conn;
Statement stmt;
ResultSet rs; try{
String table_name = request.getParameter("tableName"); //mysql连接
Class.forName("com.mysql.jdbc.Driver").newInstance();
String URL="jdbc:mysql://localhost:3306/bbs?user=root&password=insect";
conn = DriverManager.getConnection(URL);
stmt = conn.createStatement();
String sql = "SELECT * FROM user"+table_name;
rs = stmt.executeQuery(sql); // 设置表格的名字
String tableName = table_name.toUpperCase(); //得到列的名字
ResultSetMetaData rsmd = rs.getMetaData();
int numColumns = rsmd.getColumnCount();
String[] columnNames = new String[numColumns];
for (int i = 0; i < numColumns; i++) {
columnNames[i] = rsmd.getColumnName(i + 1);
} response.setContentType("text/xml");
out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
out.write("<" + tableName + "s>");
//循环写入数据
while (rs.next()) {
out.write("<" + tableName + ">");
//每一行
for (int i = 0; i < numColumns; i++) {
out.write("<" + columnNames[i] + ">");
out.write(String.valueOf(rs.getObject(i + 1)));
out.write("</" + columnNames[i] + ">\n");
}
out.write("</" + tableName + ">");
}
out.write("</" + tableName + "s>");
rs.close();
conn.close();
}
finally{
}
%>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货