我嘗試通過jboss連接hyperion數據庫並運行sql語句。 我有跟隨着JSP文件:錯誤「org.apache.jasper.JasperException:/SearchGenre.jsp(1,20)quote symbol expected」in jsp
<%@ page import = java.sql.* %>
<%@ page import = java.* %>
<%@ page language="java" contentType="text/html; charset=windows-1255"
pageEncoding="windows-1255"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<title>Insert title here</title>
</head>
<body>
IntialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:/DefaultDS");
Connection con = ds.getConnection();
PreparedStatement prSelect =
con.prepareStatement("select * from public.users where user = ?");
prSelect.getString(1,genre);
ResultSet rs = prSelect.executeQuery();
while (rs.next()) {
system.out.println("FOUND!!!!!");
}
</body>
</html>
我得到這個錯誤信息
描述服務器遇到一個內部錯誤(),從完成此請求防止 它。
例外
org.apache.jasper.JasperException:/SearchGenre.jsp(1,20)預計 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40報價符號 ) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88) org.apache.jasper.compiler.Parser.parseAttribute( Parser.java:200) org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:150) org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:162) org.apache.jasper.compiler.ParserController.getPageEncodingForJspSyntax(ParserController.java:451) org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:392) org.apache.jasper.compiler.ParserController.doParse (ParserController.java:173) org.apache.jasper.compiler.ParserController.parse(ParserController.java:103) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167) org.apache。 jasper.compiler.Compiler.compile(Compiler.java:306) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java: 273) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
注意JBossWeb/2.0.1.GA日誌提供了根本原因的完整堆棧跟蹤。
我的問題是什麼?
看起來你忘了添加'<% %>'符號來包裝你的代碼並使它成爲scriptlet。如果你不這樣做,那麼使用'try/catch'模塊來包裝它,並提供你的問題的確切堆棧跟蹤。 – 2014-09-06 14:36:19
直接在html body內的java代碼? – SparkOn 2014-09-06 14:38:14
您可以通過解耦表示層和業務層來做得更好。 – BatScream 2014-09-06 14:46:39