首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在jspInit()和jspDestroy()上遇到错误

我在jspInit()和jspDestroy()上遇到错误
EN

Stack Overflow用户
提问于 2016-09-29 18:00:14
回答 2查看 193关注 0票数 0

在标记"jspInit“上显示一些语法错误,此标记后应为AnnotationName,在标记"jspDestroy”上显示语法错误,此标记后应为AnnotationName。

代码语言:javascript
复制
 <% 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();
       }   

  }
%>
EN

回答 2

Stack Overflow用户

发布于 2016-09-29 18:09:01

首先,我不推荐在JSP页面中编写java代码。

您需要使用声明语法(<%! ... %>):,而不是scriptlet

代码语言:javascript
复制
 <%! 
       public String yourMethod() { 
          // 
       } 
    %>

你的代码应该是这样的

代码语言:javascript
复制
<%!
    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();
        }

    }
%>
票数 1
EN

Stack Overflow用户

发布于 2016-09-29 18:08:12

这些方法(在本例中为jspInit()jspDestroy() )必须在声明块中定义,而不是在scriptlet中定义。也就是说,不仅仅是<%,而是<%!

代码语言:javascript
复制
<%! connection con;
  public void jspInit() {
  // ...
  }
%>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39767206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档