我在JSP Servlet的是新的,我想要的只是使用的servlet的ResultSet數據在JSP頁面...當我運行它給我像如何在jsp頁面中使用Servlet ResultSet?
org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP
PWC6199: Generated servlet error:
source value 1.5 is obsolete and will be removed in a future release
PWC6199: Generated servlet error:
target value 1.5 is obsolete and will be removed in a future release
PWC6199: Generated servlet error:
To suppress warnings about obsolete options, use -Xlint:-options.
PWC6197: An error occurred at line: 148 in the jsp file: /products.jsp
PWC6199: Generated servlet error:
cannot find symbol
symbol: class ResultSet
location: class org.apache.jsp.products_jsp
PWC6197: An error occurred at line: 148 in the jsp file: /products.jsp
PWC6199: Generated servlet error:
method processRequest in class jdbc.units cannot be applied to given types;
required: javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse
found: no arguments
reason: actual and formal argument lists differ in length
這裏的錯誤代碼做任務是我的代碼..
units.java
package jdbc;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.util.*;
import java.util.logging.*;
import org.json.*;
import javax.servlet.http.HttpSession;
public class units extends HttpServlet {
protected ResultSet processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ResultSet rs = null;
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(units.class.getName()).log(Level.SEVERE, null, ex);
}
try {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/gst_application", "root", "");
String sql = "SELECT * FROM `product_units` ORDER BY `product_unit_id` ASC";
PreparedStatement ps = null;
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
} catch (SQLException ex) {
Logger.getLogger(units.class.getName()).log(Level.SEVERE, null, ex);
out.print(ex);
}
}
return rs;
}
}
product.jsp
<%@page import="jdbc.units"%>
<select class="form-control" name="product_unit" required="required">
<%
units obj = new units();
ResultSet rs = obj.processRequest();
while(rs.next())
{
out.print("<option>"+rs.getString("unit_val")+"</option>");
}
%>
</select>
列表中你應該永遠,永遠傳遞的ResultSet了創建它的方法。您需要將值映射到對象或數據結構中,並在finally塊的方法範圍內關閉ResultSet。不要在JSP中編寫scriptlet代碼。如果你必須編寫一個JSP,你應該只使用JSTL。 – duffymo