servlet 学习二

       servlet表单的使用

       就像JSP能够处理表单一样,servlet也能够完成这些工作。虽然要麻烦一些,但是掌握之后,在框架中会得到广泛的应用。

       首先是表单提交的html页面,这个页面就是最普通的使用方式即可。唯一要注意的就是action的指向,可以填写servlet的映射路径。

       而servlet类的编写则要按照之前所学的方式,一步一步来。首先写一个类继承servlethttp类,然后复写doGet方法。在doGet方法中,我们用request对象中存在的getWriter返回数字流对象作为输出,用response对象中的       getParameter方法获取表单参数。

       然后用servlet令人诟病的方式进行输出即可。

       有一点需要注意的是,我们是复写了doGet方法。所以表单提交的方式只能是get方式。如果想支持post方式,那就要复写一下doPost,因为doPost和doGet其实是非常类似的方法,所以只需要doPost方法的代码块中写入:

       this.doGet(req,resp);

       这样,就可以解决此问题了。

       servlet的生命周期

       servelt的生命周期分成五个部分 :加载、初始化、服务、销毁和卸载。

       在web容器启动时,存在于web.xml中的servlet等于就已经被加载了。而当第一次使用这个servlet的时候,就开始了初始化。

       加入初始化失败,直接就进入卸载。如果加入初始化成功。则开始服务。等到服务不可用的时候,就进行销毁,然后卸载。

       关于加载和卸载,这个是在web.xml中操作的,换言之,是我们程序员自己通过敲代码改变的。而其他的几个阶段,则是由实际运行的时候产生的。

       初始化,会在程序第一次进行的时候调用init函数。之后无论如何刷新,都只会调用服务的函数(一般就是doGet和doPost)。

       而卸载的话,有三种情况:

       1 容器关闭

       2 服务长时间不用

       3 调用了reload函数

       servlet初始化

       servlet的初始化操作就是在web.xml的servlet标签中加入参数和参数对应的值。然后在servlet类中使用init方法,通过参数名获得值即可。

       当一个servlet中有多个init方法时,只有获得了初始化参数的那一个方法才起作用。而且所有初始化参数都必须要通过映射路径才有效。

       下面是在web.xml中的配置:

<servlet>
      <servlet-name>servlet名</servlet-name>
      <servlet-class>路径</servlet-class>
            <init-param>
                  <param-name>ref</param-name>
                  <param-value>初始化参数值</param-value>
            </init-param>
      </servlet>


       下面是servlet类:

public class InitParamServlet extendsHttpServlet {
      privateString initParam = null ;   // 用于保存初始化参数
      publicvoid init(ServletConfig config) throws ServletException{
            this.initParam= config.getInitParameter("ref") ;  //接收的初始化参数名称暂时为ref
      }
      publicvoid doGet(HttpServletRequest req,
                     HttpServletResponse resp)
              throws ServletException,
                     IOException{
            System.out.println("**初始化参数:"+ this.initParam) ;
      }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值