在标记"jspInit“上显示一些语法错误,此标记后应为AnnotationName,在标记"jspDestroy”上显示语法错误,此标记后应为AnnotationName。
<% connection con;
public void jspInit() {
try{
Class.forName("Oracle.jdbc.driver.OracleDriver");
con= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","tiger");
}
catch(SQLException sqle){
sqle.printStackTrace();
}
}
public void jspDestroy () {
try{
con.close();
}
catch(SQLException sqle){
sqle.printStackTrace();
}
}
%>发布于 2016-09-29 18:09:01
首先,我不推荐在JSP页面中编写java代码。
您需要使用声明语法(<%! ... %>):,而不是scriptlet
<%!
public String yourMethod() {
//
}
%>你的代码应该是这样的
<%!
Connection con;
public void jspInit() {
try{
Class.forName("Oracle.jdbc.driver.OracleDriver");
con= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","tiger");
}
catch(SQLException sqle){
sqle.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public void jspDestroy () {
try{
con.close();
}
catch(SQLException sqle){
sqle.printStackTrace();
}
}
%>发布于 2016-09-29 18:08:12
这些方法(在本例中为jspInit()和jspDestroy() )必须在声明块中定义,而不是在scriptlet中定义。也就是说,不仅仅是<%,而是<%!。
<%! connection con;
public void jspInit() {
// ...
}
%>https://stackoverflow.com/questions/39767206
复制相似问题