Servlet 学习总结

Servlet

       是什么?

              运行在服务器上的java小程序。

       有什么用?

              可以接受浏览器发送过来的请求,并做出响应,发还给浏览器。

       怎么用?

              Servlet是一个接口

                     public void init(ServletConfig config)

                     public void destroy()

                     public void service(ServletRequest req,ServletResponse res)

                     public ServletConfig getServletConfig()

                     public String getServletInfo()

              Servlet的实现关系:

                     Servlet是一个接口,有两个实现类GenericServlet,HttpServlet

              怎么写一个Servlet?

                     写一个类实现Servlet接口

                     写一个类继承GenericServlet

                     写一个类继承HttpServlet(在工作中使用)

                     进行配置:

                            <servlet>

                                   <servlet-name></servlet-name>

                                   <servlet-class></servlet-class>

                            </servlet>

                            <servlet-mapping>

                                   <servlet-name></servlet-name>

                                   <url-pattern></url-pattern>

                                   <load-on-startup>2</load-on-startup>   设置优先级

                            </servlet-mapping>

              Servlet执行流程:

1、  浏览器(在地址栏中输入一个地址、点击超链接按钮、提交表单数据)向服务器发送了一次请求。请求的路径是什么样子的?http://localhost:8080/项目名/资源路径

<ahref="/项目名/index.html">index.html</a>浏览器会自动添加上当前页面所在的服务器的地址

2、  http://localhost:8080/项目名/资源路径这个路径的执行过程会发生什么?通过主机名或ip地址可以唯一的找到一台服务器。通过8080端口可以找到唯一的服务器程序(Tomcat)。Tomcat根据“/项目名/资源路径”去决定由哪个资源做出响应。

3、  /项目名/资源路径,例如:/Day12_Test/index.html,Tomcat根据项目名,在webapps中可以查找到相应的项目目录。接下来,Tomcat会去项目下的WEB-INF下查找web.xml中有没有映射。如果有相应的Servlet来进行映射,则由Servlet来进行处理;如果找不到,会交给Tomcat做默认处理,如果有,Tomcat就会把资源发送给浏览器。如果找不到呢?会提示404错误。

Servlet的生命周期:

       创建:第一次请求时创建,可以通过load-on-startup标签设置启动的顺序. 创建时,Tomcat会默认调用init方法来进行初始化操作。

       销毁:服务器关闭,应用被卸载关闭,销毁时,tomcat会默认调用destroy方法。

       提供服务:每一次请求,会调用service方法

url-pattern设置:

   1.    完全路径匹配:

    2.   目录匹配:

    3.  扩展名匹配:

              1 > 2> 3

       不要写成/*.do

 

 

 

事件驱动的程序开发:

       三个要素:

              事件源:

              事件的处理程序(监听器)(回调函数)

              事件(事件自身)

       三个步骤:

1、  写一个事件源

2、  写一个事件处理程序(监听器)

3、  绑定

 

使用STS发布项目的过程

1、  将SRC目录下的所有的java类进行编译成.class文件,再把其他所有文件和.class文件一起复制到WEB-INF下的classes目录中。

2、  将WebContent目录中的所有内容复制到tomcat的webapps目录下。

3、  将WebContent目录的名字改成项目名(准确来讲应该是改成项目属性下的web projectsettings中的Content Root选项中的名字。这个名字默认跟项目名相同)。

 

文件的路径问题:

       a在项目根路径:不能,因为不会发不到Tomcat

       b在WebContent路径:能,ServletContext.getResourceAsStream("/b.txt"); ServletContext.getRealPath("/b.txt");

       c在WEB-INF下:能,

ServletContext.getResourceAsStream("/WEB-INF/c.txt");  ServletContext.getRealPath("/WEB-INF/c.txt");

       d在src下:能

ServletContext.getResourceAsStream("/WEB-INF/classes/d.txt"); 

ServletContext.getRealPath("/WEB-INF/classes/d.txt");

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值