【发布时间】:2023-04-10 13:15:01
【问题描述】:
我尝试通过 jboss 连接到 hyperion 数据库并运行 sql 语句。 我有以下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块来包装它并提供您问题的确切堆栈跟踪。 -
java代码直接在html正文中?
-
解耦表现层和业务层可以做得更好。