📄 initializebooklist.java
字号:
package scwcd.lab04;
import javax.servlet.*;
import java.io.*;
import java.util.*;
public class InitializeBookList implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
// 取得 ServletContext 对象
ServletContext context = sce.getServletContext();
// 读取 recommendedBooks 起始参数值
// 此 context 起始参数定义在 web.xml
String booklist = context.getInitParameter("BookListFile");
InputStream is = null;
BufferedReader br = null;
try {
// 读取 data/booklist.txt 文件内容
is = context.getResourceAsStream(booklist);
br = new BufferedReader(new InputStreamReader(is));
String bookDetails; // 存放从 booklist.txt 读取的每一条数据
GoodBooks books = new GoodBooks();
// 依序取出“书名”、“作者”、“出版社”、“ISBN”、“售价”等数据
while ( (bookDetails = br.readLine()) != null ) {
StringTokenizer tokens = new StringTokenizer(bookDetails, "|");
String name = tokens.nextToken();
String author = tokens.nextToken();
String publisher = tokens.nextToken();
String isbn = tokens.nextToken();
String price = tokens.nextToken();
// 建立一个 Book 对象
Book b = new Book(name, author, publisher, isbn, price);
// 将 Book 对象加入 books 对象(books对象将包含多本书籍数据)
books.addBook(b);
}
// 将 books 对象存入 ServletContext 对象的属性(allBooks),
// 未来 ShowGoodBooks 这个 Servelt 将从 Servletcontext 对象
// 内取出 allBooks 属性
context.setAttribute("allBooks", books);
context.log("Web 应用程序初始化成功完成!");
is.close();
br.close();
} catch (Exception e) {
context.log("Web 应用程序初始化发生问题!!", e);
}
}
public void contextDestroyed(ServletContextEvent sce) {}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -