`
ihuashao
  • 浏览: 4766809 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JSP2.0 学习笔记 (2)

阅读更多
Servlet :
Servlet 能够完全发挥Java API 的威力,包括网络和URL 存取、多线程 (Multi-Thread)、影像处理、RMI (Remote Method Invocation)、分布式服务器组件 (Enterprise Java Bean)、对象序列
(Object Serialization) 等。若想写个网络目录查询程序,则可利用JNDI API;想连接数据库,
则可利用JDBC,有这些强大功能的API 做后盾,相信Servlet 更能够发挥其优势。
一开始我们必须导入(import) javax.servlet.*、javax.servlet.http.*。
javax.servlet.* :存放与HTTP 协议无关的一般性Servlet 类;
javax.servlet.http.* :除了继承javax.servlet.* 之外,并且还增加与HTTP协议有关的功能。
所有Servlet 都必须实现javax.servlet.Servlet 接口(Interface),但是通常我们都会从
javax.servlet.GenericServlet 或javax.servlet.http.HttpServlet 择一来实现。若写的Servlet
程序和HTTP 协议无关,那么必须继承GenericServlet 类;若有关,就必须继承HttpServlet 类。
一开始和Applet 一样,也有init( )的方法。当Servlet 被Container 加载后,
接下来就会先执行init( )的内容,因此,我们通常利用init( )来执行一些初始化的工作。
关于在命令行里面转换当前目录的命令:
C:\Documents and Settings\fxl>cd /d d:\
D:\>
关于编译HelloServlet.java 的方法:
(1) 将servlet-api.jar 加入至CLASSPATH之中,直接使用javac 来编译HelloServlet.java。
其中servlet-api.jar 可以在{Tomcat_Install}\common\lib 找到。
(2) 直接使用Ant 方式编译HelloServlet.java,请参见1-4 节“安装Ant 1.6”。
编译好HelloServlet.java 之后,再来设定web.xml,如下:
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>tw.com.javaworld.CH2.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
Servlet的生命周期:
Container可以在同一个JVM 上执行所有Servlet,所以Servlet
之间可以有效地共享数据,但是Servlet 本身的私有数据亦受Java 语言机制保护。
Servlet 从产生到结束的流程如图2-2 所示。
(1) 产生Servlet,加载到Servlet Engine中,然后调用init( )这个方法来进行初始化工作。
(2) 以多线程的方式处理来自Client 的请求。
(3) 调用destroy( )来销毁Servlet,进行垃圾收集 (garbage collection)。
Servlet 生命周期的定义,包括如何加载、实例化、初始化、处理客户端请求以及如何被移除。
这个生命周期由javax.servlet.Servlet 接口的init ( )、service( )和destroy( )方法表达。
1. 加载和实例化
当Container一开始启动,或是客户端发出请求服务时,Container会负责加载和实例化一个Servlet。
2. 初始化
Servlet 加载并实例化后,再来Container必须初始化Servlet。初始化的过程主要是读取配置
信息(例如JDBC连接)或其他须执行的任务。我们可以借助ServletConfig 对象取得Container的
配置信息. 因此,可以在HelloServlet程序中使
用ServletConfig 对象的getInitParameter("user")方法来取得browser。
3. 处理请求
Servlet 被初始化后,就可以开始处理请求。每一个请求由ServletRequest 对象来接收请求;
而ServletResponse 对象来响应该请求。
4. 服务结束
当Container 没有限定一个加载的Servlet 能保存多长时间,因此,一个Servlet 实例可能只
在Container 中存活几毫秒,或是其他更长的任意时间。一旦destroy( )方法被调用时,Container
将移除该Servlet,那么它必须释放所有使用中的任何资源,若Container 需要再使用该Servlet
时,它必须重新建立新的实例。
Servlet 范例程序:
Sayhi.html
Sayhi.java
从Sayhi.java的程序当中,可以发现Servlet是利用HttpServletRequest类的getParameter( )
方法来取得由网页传来的数据。不过数据通过HTTP协议传输时会被转码,因此在接收时,必须再做转
码的工作,才能够正确地接收到数据。
编译Sayhi.java 之后,再来设定web.xml:
<servlet>
<servlet-name>Sayhi</servlet-name>
<servlet-class>tw.com.javaworld.CH2.Sayhi</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Sayhi</servlet-name>
<url-pattern>/CH2/Sayhi</url-pattern>
</servlet-mapping>
执行http://localhost:8080/JSPBook/CH2/Sayhi
注意:在Sayhi.java 里面修改了一下,如果要马上看到效果的话,需要把该类编译一下,然后放到classes里面,
然后再重新启动tomcat 即可。如果没有重新启动的话,打开网页访问,提示连接不到Servlet 或者连接的是
以前的Servlet。
分享到:
评论

相关推荐

    jsp2.0 学习笔记+完整源码

    **JSP 2.0 学习笔记及完整源码详解** JSP 2.0(JavaServer Pages)是Java平台上的动态网页技术,它允许开发者在HTML、XML或其他标记语言文档中嵌入Java代码,以实现服务器端的动态内容生成。本资料包包括了JSP 2.0...

    JSP 2.0 完整笔记+源码

    这份完整的笔记和源码集合为学习JSP 2.0提供了丰富的实践材料。 1. **基本概念** JSP是一种服务器端脚本语言,允许开发者在HTML或XML文档中嵌入Java代码,以生成动态内容。JSP页面在服务器上被编译为Java Servlet...

    struts2.0学习笔记,代码整理

    压缩包中的"structs2.0学习"文件可能包含Action类的实现、配置文件示例、JSP视图页面等内容。例如,一个简单的登录Action可能会如下所示: ```java public class LoginAction { private String username; private...

    struts2.0学习笔记

    本篇笔记将详细介绍如何在MyEclipse环境中配置Struts2.0,并逐步演示从创建运行环境到实现简单的验证和自定义类型转换的过程。 首先,我们需要准备运行环境。MyEclipse 6.0 和 Tomcat 5.5 是开发Struts2.0应用的...

    Struts2.0学习笔记.doc

    Struts2.0是一个流行的Java Web开发框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。在Struts2中,类型转换是自动进行的,旨在帮助开发者处理请求参数与Action类属性之间的类型匹配问题。文档中的内容主要...

    韩顺平jsp九讲笔记

    2. **JSP基本语法**:笔记中会介绍JSP的基本元素,如指令(directives)、动作(actions)和脚本元素(scriptlets)。其中,指令包括page、include和taglib,用于设置页面属性或引入其他资源;动作如jsp:include、...

    jsp/servlet个人学习笔记

    EL 是 JSP 2.0 引入的一种简洁的表达方式,用于访问 JSP 页面中的数据。它简化了获取和设置页面上下文中的属性,例如 `${user.name}` 可以直接获取 `user` 对象的 `name` 属性,无需使用 `&lt;%= %&gt;` 或 `&lt;jsp:...

    Struts2.0培训笔记

    本培训笔记将深入探讨Struts2.0的核心概念、特性以及如何在实际项目中有效应用。 一、Struts2.0框架基础 Struts2.0是Apache软件基金会的项目,它是Struts1.x的升级版,提供了更强大的功能和更好的性能。该框架通过...

    良葛格JspServlet学习笔记.pdf

    ### 良葛格JspServlet学习笔记 #### 一、引言 在现代Web开发领域,特别是Java EE平台中,JSP (JavaServer Pages) 和 Servlet 技术扮演着非常重要的角色。这两种技术共同构成了Java Web应用的基础,分别侧重于用户...

    jsp笔记帮助学习jsp

    通过阅读《Jsp笔记.pdf》,你将能够深入学习JSP 2.0的核心概念,了解如何使用JSP来创建动态Web应用,掌握JSP的各种元素、内置对象、动作标签和新特性,从而提升你的Web开发技能。结合实际项目实践,你可以更好地应用...

    jsp学习笔记,不错的入门级资料

    【标题】:jsp学习笔记,不错的入门级资料 【描述】:这是一份在达内科技学习过程中编写的jsp学习笔记,旨在为初学者提供一个基础到深入的学习路径。笔记内容丰富,覆盖了jsp的基本概念、语法特性以及常用功能,...

    Spring 2.0核心技术学习笔记总结

    ### 2. **IoC容器** Spring的IoC(Inversion of Control)容器负责创建对象、管理对象的生命周期和对象之间的依赖关系。在Spring 2.0中,可以通过XML配置文件或者基于注解的方式来实现IoC。 ### 3. **AOP(面向切面...

    JSP2_0技术学习笔记

    本篇学习笔记主要关注JSP的标签应用以及四个基本范围的概念。 **JSP的四种范围** 1. **Page范围**:这是最小的范围,只存在于当前的JSP页面中。如果在Page范围内设置了一个属性,当该页面执行完毕,这个属性就会...

    voa英语听力学习平台jsp版 v2.0.rar

    6、发布个人学习笔记,并对学习笔记进行维护;7、支付宝在线支付接口,实现在线购买服务功能;8、个人信息管理,个人界面方案维护;9、信息反馈及维护;10、JavaMail邮件发送功能实现。各功能模块的稳定性都经过了...

    Jsp_Servlet学习课堂笔记

    5. **EL(Expression Language)**:它是JSP 2.0引入的一种轻量级表达式语言,用于访问JavaBean或其他Java对象的属性。 6. **JSTL(JavaServer Pages Standard Tag Library)**:一套标准的标签库,提供诸如流程...

    struts2.0相关学习资料

    通过阅读Struts2.0中文手册和学习笔记,以及动手实践教程中的示例,可以全面掌握Struts2.0的用法和精髓。在实际项目中,熟练运用Struts2.0能提高开发效率,降低维护成本。同时,了解并熟悉相关的社区资源和最佳实践...

    JSP 超详细笔记+EL

    - **EL**是JSP 2.0引入的一种轻量级的脚本语言,用于简化JSP中的数据访问,它可以用来获取和设置JavaBean或其他作用域内的对象属性。 综上所述,JSP是Web开发中的重要技术,结合EL能更高效地处理动态内容。理解JSP...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    javaweb学习笔记和源码

    "javaweb学习笔记和源码"这个压缩包文件提供了学习JSP(JavaServer Pages)的资源,这对于初学者理解Web开发概念以及实践编程至关重要。以下是围绕这个主题的详细知识点讲解: 1. **JSP简介**: JSP是Java平台上的...

    魔乐在线jsp培训笔记

    总结,"魔乐在线jsp培训笔记"提供的内容涵盖了JSP的基础知识、核心概念以及实际应用,对于想要学习或提升JSP技能的IT从业者来说是一份宝贵的资源。通过深入学习并实践这些知识点,可以有效提高开发Web应用的能力。

Global site tag (gtag.js) - Google Analytics