我在哪里写jspInit()

时间:2015-06-01 15:59:42

标签: jsp web-applications

我必须实现jspInit()方法才能阅读文本文件并在网页上打印内容。但我不知道该把它放在哪里。 我在<DOCTYPE>之前尝试过,在其他jsp导入之间尝试但是我无法访问像out这样的对象。

<%@page import="java.io.FileReader"%>
<%@page import="java.io.BufferedReader"%>
<%@page import="java.io.IOException"%>
<%@page import="java.io.FileWriter"%>
<%@page import="java.io.PrintWriter"%>
<%@page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@page import="ML.*"%>
<%! 
    public void jspInit() throws IOException{
        BufferedReader br = new BufferedReader(new FileReader("/home/ambra/a.txt"));
        String s = br.readLine();        
        while(s != null){

        }
    }
%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <!-- Print here the content of the text file -->
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

  

但我不知道该把它放在哪里

您可以将其放在任何位置,但通常将其声明为JSP声明。

<%! public void jspInit() {   
   //your code
 }  
%> 
<html>
...
</html>
  

但我无法访问像

这样的对象

out 是一个隐式对象,隐式对象是 _jspService 方法中的局部变量,因此隐式对象只能在_jspService()方法中使用,而不能在jspInit中使用()或jspDestroy()。从jspInit()和jspDestroy(),您无法访问任何隐式对象。