- 浏览: 7944475 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
这个学期要学EJB了,之前的servlet学习是少不了的。其实发现我们不少人,不大重视SERVLET的学习,好象因为框架,JSP之类都把
servlet的编写减少到最低限度了,但还是要注重实质的,于是找了本台湾人写的《SCWCD学习》(SCWCD是JAVA认证的第二类考试,
比SCJP高一个级),发现还是台湾人写的书好懂,于是笔记关键之,并学习之。
举例,有一个文本文件,存放书本的详细信息,如书本,作者,出版社等信息,每本书之间用 “|”分隔符隔开,放在一个booklist.txt文件中, 由于WEB应用程序要读取这些数据,所以WEB应用程序在初始化阶段就要初始化书籍,就是在servlet运行之前,WEB应用程序必须从booklist.txt 文件中读取书的信息,然后建立book对象,然后当servlet运行时就可以读出所有书的数据。因此,应该建立一个监听器。
监听器为:
public class InitializeBookList implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce)
{
//获得WEB应用程序的ServletContext对象
ServletContext context=sce.getServletContext();
//通过context.getInitParameter()取得BookListFile参数值,该参数值在web.xml
String booklist=context.getInitParameter("BookListFile");
InputStream is=null;
BufferedReader br=null;
try
{
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)
context.setAttribute("allBooks",books);
context.log("OK");
is.close();
br.close();
}
catch (Exception e)
{
context.log("Web 应用程序初始化发生问题!!", e);
}
}
public void contextDestroyed(ServletContextEvent sce) {}
}
BOOK.JAVA
public class Book {
private String name;
private String author;
private String publisher;
private String isbn;
private String price;
public Book(String name, String author,String publisher,
String isbn, String price ) {
this.name = name;
this.author = author;
this.publisher = publisher;
this.isbn = isbn;
this.price = price;
}
public String getName() {
return name;
}
public String getAuthor() {
return author;
}
public String getPublisher() {
return publisher;
}
public String getIsbn() {
return isbn;
}
public String getPrice() {
return price;
}
}
goodbooks.java
public class GoodBooks {
private List BooksList;
public GoodBooks() {
BooksList = new LinkedList();
}
public void addBook(Book book) {
BooksList.add(book);
}
public Iterator getBookList() {
return BooksList.iterator();
}
}
最后显示书本列表的servlet.java
public class ShowGoodBooks extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException {
ServletContext context = getServletContext();
// 从 ServletContext 对象取出 allBooks 属性
// (参考 InitializeBookList.java 第 43 行)
GoodBooks books = (GoodBooks) context.getAttribute("allBooks");
Iterator items = books.getBookList();
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD>");
out.println("<TITLE>Java 好书推荐</TITLE>");
out.println("</HEAD>");
out.println("<H2>Java 好书推荐</H2>");
out.println("<TABLE border=1 WIDTD=100%");
// 跃富
out.println("<TR>");
out.println("<TD bgcolor=#C0C0C0>书名</TD>");
out.println("<TD bgcolor=#C0C0C0>作者</TD>");
out.println("<TD bgcolor=#C0C0C0>出版社</TD>");
out.println("<TD bgcolor=#C0C0C0>ISBN</TD>");
out.println("<TD bgcolor=#C0C0C0>售价</TD>");
out.println("</TR>");
// 显示每一条书籍数据
while ( items.hasNext() ) {
Book book = (Book) items.next();
out.println("<TR>");
out.println("<TD>" + book.getName() + "</TD>");
out.println("<TD>" + book.getAuthor() + "</TD>");
out.println("<TD>" + book.getPublisher() + "</TD>");
out.println("<TD>" + book.getIsbn() + "</TD>");
out.println("<TD>" + book.getPrice() + "</TD>");
out.println("</TR>");
}
out.println("</TABLE>");
out.println("</BODY>");
out.println("</HTML>");
}
}
发表评论
-
git学习小结
2017-01-23 20:14 601http://www.liaoxuefeng.com/wiki ... -
国内IT技术大会小结
2012-06-15 12:47 3434搞IT的就要多交流,这个应该成为大家的共同认识,比如国内目前有 ... -
国内IT技术大会小结束
2012-06-15 12:44 0搞IT的就要多交流,这个应该成为大家的共同认识,比如国内目前有 ... -
国内IT技术大会小结束
2012-06-15 12:42 0搞IT的就要多交流,这个应该成为大家的共同认识,比如国内目前有 ... -
神奇的“触觉振动”:谈W3C的震动API
2012-02-17 12:28 2120说起“触觉反馈”,大家可能从字面上并不能理解它是如何工作的。触 ... -
Chrome赶超IE:谷歌为何再度联手火狐
2011-12-27 20:16 2436http://tech.it168.com/a2011/122 ... -
(转10款难看但好用的SEO工具
2011-09-07 06:53 1403人不可貌相,SEO工具也不例外。 SEO专业网站SEOmoz ... -
一个很好的开源CRM项目
2005-01-15 19:56 1632http://www.sugarcrm.com,还有简体中文包 ... -
PHP中得到指定的时间段
2005-01-15 19:59 1948最近在项目中,遇到个比较特殊的要求,比如,MYSQL中,比如今 ... -
给大家推荐一个SQL好的站点
2005-01-15 20:20 1126,给大家推荐一个SQL好的站点 http://sqlteam. ... -
记得打补丁
2005-04-14 19:33 1045之前遇到个很怪的问题: 买了个新硬盘,160G,重新装了VS. ... -
express beta 2版本出来了
2005-04-18 11:30 1049在没下到VS。NET 2005之前,也可以用轻量级的EXPRE ... -
SQL SEVER 2005 CTP APRIL出来了
2005-04-20 20:02 1081http://lab.msdn.microsoft.com/e ... -
ms reporting service sp2 出来了
2005-04-24 08:27 1205SQL Server 2000 Reporting Servi ... -
php5 读书心得(1)
2005-04-25 19:48 1157由于工作中要用到PHP,最近下了本《PHP5 POWER PR ... -
PHP5 心得(2)
2005-04-28 19:41 1186在OOP中,构造函数和析构函数是很重要的,在PHP4中,可 ... -
vs.net 2005 beta 2安装问题
2005-04-28 22:50 1207我之前已经卸载了BETA 1了,但可惜安装后,在新建工程后,还 ... -
PHP5心得3
2005-04-29 20:47 1134今天讲的是parent::和self::两个新的关键字。se ... -
PHP5心得4
2005-05-01 17:11 11601 instanceof操作 该操作中,判断某个类是 ... -
vs 2005中的 Visualizer debugger
2005-05-05 21:01 1147在vs.net 2005 中,增加了可视化的调试器,甚至可以自 ...
相关推荐
Java Servlet监听器(Listener)是Java Web开发中的一个重要组件,它们允许开发者在特定事件发生时执行自定义逻辑,而无需直接修改原有的业务代码。监听器是Servlet规范的一部分,通过实现特定的接口,开发者可以...
Java Servlet是Java编程语言中用于处理Web服务器与客户端交互的一种技术,主要应用于构建动态Web应用程序。...在实践中,还需要掌握异常处理、会话管理、过滤器、监听器等高级特性,以实现更高效、安全的Web应用。
Listener是Servlet API中的事件监听器,用于监听Web应用中的特定事件,如会话创建、销毁、请求参数改变等。通过实现特定的监听器接口,如HttpSessionListener、ServletRequestListener等,开发者可以实现对这些事件...
4.1 web.xml:Web应用的部署描述符,用于配置Servlet、过滤器、监听器等,定义URL到Servlet的映射。 4.2 @WebServlet 注解:Java EE 6及以上版本,可以用注解简化Servlet的配置,直接在Servlet类上使用@WebServlet...
servelt 监听器 class MyRequest extends HttpServletRequestWrapper { public MyRequest(HttpServletRequest request) { super(request); } public String MyEncoding(String value) { String value...
JavaServlet帮助文档中的CHM文件是一个编译过的HTML帮助文档,它包含详细的API参考、教程、示例代码和常见问题解答,是开发者学习和查阅Servlet技术的重要资源。利用其内置的搜索功能,开发者可以快速找到所需的信息...
Servlet监听器技术是Java Servlet规范中的一项重要特性,它允许开发者在特定的Servlet容器事件发生时执行自定义的代码逻辑。这些事件可以包括Web应用程序的初始化、终止,或者是Servlet或Servlet上下文...
JAVA Servlet监听器是指在Servlet容器中,用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后做一些必要的处理。监听器可以分为多种类型,每种类型都有其特定的应用场景和用途。 ...
Java Servlet API是Java Web开发中的核心组件之一,它为服务器端的动态网页处理提供了标准的接口和类。这个API说明文档详细阐述了如何利用Java来构建动态、交互式的Web应用程序。下面将对Java Servlet API的一些关键...
Java Servlet API是Java Web开发中的核心组件之一,它定义了服务器端如何处理HTTP请求和响应的一系列接口和类。这个API文档是开发者理解和使用Servlet技术的重要参考资料。在Java Servlet API 2.5版本中,包含了对...
本学习资料汇总旨在为初学者提供全面、深入的JavaServlet学习资源,帮助他们快速掌握这一核心技术。 1. **Servlet基础** - **Servlet概念**:Servlet是一个Java类,遵循Servlet API规范,由服务器调用来处理HTTP...
7. **监听器(Listener)**:监听器用于监听特定事件,如会话创建、销毁,ServletContext初始化、销毁等。例如,`HttpSessionListener`可以监听会话的创建和销毁。 8. **MVC模式与Servlet**:尽管Servlet主要用于...
Servlet监听器是实现了Java Servlet API中特定接口的类,例如`ServletContextListener`、`ServletRequestListener`和`HttpSessionListener`等。当Web应用启动、关闭,或者用户会话创建、销毁等事件发生时,监听器会...
2. 监听器(Listener):监听Web应用中特定事件,如会话创建、销毁、请求到达等,实现响应式编程。 八、实战应用 1. 动态网页生成:Servlet可以动态生成HTML内容,提供个性化服务。 2. 数据库操作:通过JDBC接口,...
在部署Servlet时,通常会使用`web.xml`部署描述符来配置Servlet、过滤器和监听器。这里可以定义Servlet的映射路径、初始化参数、过滤器的顺序等。随着Java EE的发展,现在还可以使用Java-based配置或注解来简化部署...
"深入Java Servlet网络编程"这一主题涵盖了Servlet的配置、过滤器、监听器、会话管理、安全性等多个方面。例如,Servlet容器(如Tomcat)的配置文件(如web.xml)用于声明Servlet和Filter,设置它们的初始化参数和...
Servlet监听器是实现了特定接口的Java类,这些接口定义了针对不同Web应用程序事件的回调方法。例如,`HttpSessionListener`用于监听会话的创建和销毁,`ServletRequestListener`则关注请求的开始和结束。在这个...
Java Servlet是Java技术在Web开发中的重要组成部分,它主要用于构建动态Web应用程序。Servlet是一个服务器端的Java类,它...在实际项目中,应结合JSP、过滤器、监听器等工具,灵活运用Servlet,实现复杂的应用场景。
4. **可扩展性**:Servlet可以利用Servlet容器(如Tomcat、Jetty等)提供的特性,如过滤器、监听器等,实现更复杂的逻辑和扩展功能。 这份Java Servlet API说明文档详细描述了这些接口和类的使用方法,是开发...