Servlet基本概念

Servlet概述

生命周期方法:

void init(ServletConfig):出生之后(1次);

void service(ServletRequest request,ServletResponse response):每次处理请求时都会被调用;

void destroy():临死之前(1次);

特性:

单例,一个类只有一个对象;当然可能存在多个Servlet类!

线程不安全的,所以它的效率是高的!


Servlet类由我们来写,但对象由服务器来创建,并且由服务器来调用相应的方法。

什么是Servlet

Servlet是JavaWeb的三大组件之一,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:

l  接收请求数据;

l  处理请求;

l  完成响应。

  例如客户端发出登录请求,或者输出注册请求,这些请求都应该由Servlet来完成处理!Servlet需要我们自己来编写,每个Servlet必须实现javax.servlet.Servlet接口。


实现Servlet的方式

实现Servlet有三种方式:

l  实现javax.servlet.Servlet接口;

l  继承javax.servlet.GenericServlet类;

l  继承javax.servlet.http.HttpServlet类;

  通常我们会去继承HttpServlet类来完成我们的Servlet,但学习Servlet还要从javax.servlet.Servlet接口开始学习。

Servlet.java

public interface Servlet {

    public void init(ServletConfig config) throws ServletException;

    public ServletConfig getServletConfig();

    public void service(ServletRequest req, ServletResponse res)

            throws ServletException, IOException;

    public String getServletInfo();

    public void destroy();

}


3 创建helloservlet应用

我们开始第一个Servlet应用吧!首先在webapps目录下创建helloservlet目录,它就是我们的应用目录了,然后在helloservlet目录中创建准备JavaWeb应用所需内容:

l  创建/helloservlet/WEB-INF目录;

l  创建/helloservlet/WEB-INF/classes目录;

l  创建/helloservlet/WEB-INF/lib目录;

l  创建/helloservlet/WEB-INF/web.xml文件;

 

接下来我们开始准备完成Servlet,完成Servlet需要分为两步:

l  编写Servlet类;

l  在web.xml文件中配置Servlet;

 

HelloServlet.java

public class HelloServlet implements Servlet {

    public void init(ServletConfig config) throws ServletException {}

    public ServletConfig getServletConfig() {return null;}

    public void destroy() {}

    public String getServletInfo() {return null;}

 

    public void service(ServletRequest req, ServletResponse res)

           throws ServletException, IOException {

        System.out.println("hello servlet!");

    }

}


  我们暂时忽略Servlet中其他四个方法,只关心service()方法,因为它是用来处理请求的方法。我们在该方法内给出一条输出语句!


web.xml

    <servlet>

       <servlet-name>hello</servlet-name>

       <servlet-class>cn.itcast.servlet.HelloServlet</servlet-class>

    </servlet>

    <servlet-mapping>

       <servlet-name>hello</servlet-name>

       <url-pattern>/helloworld</url-pattern>

    </servlet-mapping>  


浏览器访问地址:http://localhost:8080/ServletDay1/helloworld

在web.xml中配置Servlet的目的其实只有一个,就是把访问路径与一个Servlet绑定到一起,上面配置是把访问路径:“/helloworld”与“HelloServlet”绑定到一起。

l  <servlet>:指定HelloServlet这个Servlet的名称为hello;

l  <servlet-mapping>:指定/helloworld访问路径所以访问的Servlet名为hello。

<servlet>和<servlet-mapping>通过<servlet-name>这个元素关联在一起了!

接下来,我们编译HelloServlet,注意,编译HelloServlet时需要导入servlet-api.jar,因为Servlet.class等类都在servlet-api.jar中

javac -classpath F:/tomcat6/lib/servlet-api.jar -d .HelloServlet.java

然后把HelloServlet.class放到/helloworld/WEB-INF/classes/目录下,然后启动Tomcat,在浏览器中访问:http://localhost:8080/helloservlet/helloworld即可在控制台上看到输出!

l  /helloservlet/WEB-INF/classes/cn/cloud/servlet/HelloServlet.class;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值