JSP/Servlet 学习笔记(四)

对于一个Web应用,的发布过程

1.部署HTML文件

在helloapp目录下加入index.htm文件.

 

2.部署JSP

常见JSP文件,helloapp目录下.

 

3.部署Servlet

(1).创建一个Servlet文件,它可调用HttpServletRequest对象的getParameter方法读取客户提交的loginForm表单数据.

(2).编译这个java文件,编译时需要servlet-api.jar文件.把编译出来的class文件拷贝到"/helloapp/WEB-INF/classes/mypackage "目录下.(其中mypackage是这个类所属的包).

(3).在web.xml中为类加上<servlet>和<servlet-mapping>元素.

 

                                                                    <servlet>元素的属性

<servlet-name>                  定义Servlet的名字
<servelt-class>指定实现这个Servlet的类
<init-param>定义Servlet的初始化参数(包括参数名和数值).一个<servlet>中可以有多个<init-param>
<load-on-startup>    指定当Web应用启动时,装载Servlet的次序,当这个值为正数或0,Servlet容器先加载数值小的Servlet.如这个值为负数或没有设定,那么Servlet容器将在Web客户首次访问这个Servlet时加载它.

<servlet-mapping>用来指定<servlet-name>和<url-pattern>映射.

<url-pattern>指访问Servlet 的相对URL路径.

 

4.部署JSP Tag Library

在Web应用中加入Tag Library(标签库).Tag Library向用户提供了自定义JSP标签的功能.我们将定义一个名为mytaglib的标签库,它包含了一个简单的hello标签,这个标签能将JSP中所有的<mm:hello/>解析为字符串"hello".

以下是创建和发布mytaglib标签库的步骤:

(1).编写用于处理hello标签的类HelloTag.java.

  1. package mypackage;
  2. import javax.servlet.jsp.JspException;
  3. import javax.servlet.jsp.JspTagException;
  4. import javax.servlet.jsp.tagext.TagSupport;
  5. pubilc class HelloTag extends TagSupport
  6. {
  7.     public void HelloTag(){}
  8.     public int doEndTag() throws JspException {
  9.         try{
  10.             pageContext.getOut().print("Hello");
  11.         }
  12.         catch(Exception e){
  13.             throw new JspTagException(e.getMessage();
  14.         }  
  15.         return SKIP_BODY;
  16.     }
  17.     public void release() {
  18.         super.release();
  19.     }
  20. }

(1).编译HelloTag.java时,需要jsp-api.jar文件.编译生成的HelloTage.class存放位置为/WEB-INF/classes/mypackage/HelloTag.class.

(2).创建Tag Library的描述文件mytaglib.tld文件.

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE taglib ...>

<taglib>

<tlibversion>1.0</tlibversion>

<jspversion>1.1</jspversion>

<shortname>mytaglib</shortname

<url>/mytaglib</url>

 

<tag>

<name>hello</name>

<tagclass>mypackage.HelloTag</tagcalss>

bodycontent>empty</bodycontent>

<info>Just Says Hello</info>

</tag>

 

</taglib>

 

(3).在web.xml文件中加入<taglib>元素

<?xml ...>

<!DOCTYPE web-app ...>

<web-app>

   <servlet>

      ........

    </servlet>

 

    <taglib>

        <taglib-url>/mytaglib</taglib-url>

        <taglib-location>/WEB-INF/mytaglib.tld</taglib-location>

    </taglib>

</web-app>

 

其中,<taglib-url>指定Tag Library>标示符.<taglib-location>指定Tag Library的描述文件(TLD)的位置.

 

(4).在hello.jap文件中加入hello标签,首先映入mytaglib的taglib指令.

<%@ taglib url="/mytaglib" prefix="mm" %>

接下来在页面中的<mm:hello/>都将输出Hello.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值