目录 1、什么是Servlet 2、实现Servlet的三种方式 3、<url-pattern>:映射的url路径 4、创建一个简单的web应用 ======================================================================= Servlet概述 生命周期方法: * void init(ServletConfig config):--> Tomcat创建Servlet实例后调用一次,传入配置信息,之后都不调用。 * void service(ServletRequest request,ServletResponse response):-->每次处理请求时都会被调用; * void destroy():一般不调用,只有服务器关闭之前,调用一次。(但并不是用它来销毁Servlet) 特性: * Servlet是单例模式的,一个类只有一个对象;当然可能存在多个Servlet类! * Servlet线程不安全的,所以它的效率是高的! Servlet类由我们来写,但对象由服务器来创建,并且由服务器来调用相应的方法。 1、什么是Servlet Servlet是JavaWeb的三大组件之一(Servlet、Filter、Listener),它属于动态资源。 Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要: * 接收请求数据; * 处理请求; * 完成响应。 例如客户端发出登录请求,或者发出注册请求,这些请求都应该由Servlet来完成处理!Servlet需要我们自己来编写, 每个Servlet必须实现javax.servlet.Servlet接口。 2、实现Servlet的三种方式(由我们自己来写!) 实现Servlet有三种方式: * 实现javax.servlet.Servlet接口;(不方便) * 继承javax.servlet.GenericServlet类;(不方便) * 继承javax.servlet.http.HttpServlet类;(方便) 通常我们会去继承HttpServlet类来完成我们的Servlet,但学习Servlet还要从javax.servlet.Servlet接口开始学习。 Servlet.java public interface Servlet { public void init(ServletConfig config) throws ServletException; -->生命周期方法 public void service(ServletRequest req, ServletResponse res) throws Exception; 生命周期方法 public void destroy(); -->生命周期方法 public ServletConfig getServletConfig(); -->有用的方法,得到Servlet配置信息 public String getServletInfo(); -->用不到的方法,无意义 } [Servlet的对象不由我们来创建,由Tomcat来创建!Servlet中的方法大多数不由我们来调用,而是由Tomcat来调用。] 3、<url-pattern>:映射的url路径 <url-pattern>是<servlet-mapping>的子元素,用来绑定Servlet的访问路径 可以在一个<servlet-mapping>中给出多个<url-pattern>,也就是说一个Servlet可以有多个访问路径: <servlet-mapping> <servlet-name>xxx</servlet-name> <url-pattern>/hello1<url-pattern> <url-pattern>/hello2<url-pattern> </servlet-mapping> 还可以在<url-pattern>中使用通配符,即“*”。 * <url-pattern>/*<url-pattern>:表示匹配任何路径 * <url-pattern>/do/*<url-pattern>:表示匹配以/do开头的任何路径 * <url-pattern>*.do<url-pattern>:表示匹配任何以“.do”结尾的路径 注意: * 通配符要么在开头,要么在结尾,不能在中间,例如:/*.do就是错误的使用。 * 如果不使用通配符,那么<url-pattern>必须以“/”开头,例如:<url-pattern>abc</url-pattern>就是错误的 4、创建一个简单的web应用 我们开始第一个Servlet应用吧!首先在webapps目录下创建helloservlet目录,它就是我们的应用目录了, 然后在helloservlet目录中创建准备JavaWeb应用所需内容: helloservlet项目 - WEB-INF目录 - classes目录 - lib目录 - web.xml文件 接下来我们开始准备完成Servlet,完成Servlet需要分为两步: 编写Servlet类; 在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的名字] <servlet-class>cn.itcast.servlet.HelloServlet</servlet-class> [Servlet的路径,用于反射获得Servlet对象] </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> [Servlet的名字] <url-pattern>/helloworld</url-pattern> [Servlet对应的映射路径] </servlet-mapping> 在web.xml中配置Servlet的目的其实只有一个,就是把访问路径与一个Servlet绑定到一起。 在浏览器中访问:http://localhost:8080/helloservlet/helloworld即可在控制台上看到输出! ==================================================================================================
Servlet概述
最新推荐文章于 2024-07-24 19:42:47 发布