【xy】servlet笔记

一、什么是servlet

    servlet是sun公司制订的一种用来扩展web服务器功能的组件规范。(server+Applet=Servlet意为服务器端的小程序)

二、web.xml模板

    1.一个web.xml中可以配置多个Servlet

     eg.        

          <servlet>
            <servlet-name>servlet 的名字 1</servlet-name>    //servlet 的逻辑名
            <servlet-class>servlet 类全名 1</servlet-class> //类的完全限定名
          </servlet>

           <servlet-mapping>
                <servlet-name>servlet 的名字 1</servlet-name> //要和 servlet 标签中的相同
                 <url-pattern>指定 servlet 相对于应用目录的路径</url-pattern> 
                    //servlet 的访问路径
           </servlet-mapping>

           <welcome-file-list>
                <welcome-file>index.jsp</welcome-file>//指定默认的欢迎页面
            </welcome-file-list>

***三、

      (1)Servlet的运行过程

     eg.在浏览器地址栏输入:
http://ip:port/appname/hello?name=zs

           a.浏览器会依据 ip,port 连接服务器,将请求资源路径(上面地址)存放到请求数据包

           b.Servlet 引擎会将请求数据包中的数据封装到Request 对象(请求对象)当中,方便 Servlet 获取数据;

               还会创建 Response 对象(响应对象),方便 Servlet 将处理之后的结果返回给客户端。

           c.Servlet 引擎依据/appname 找到对应的应用。依据应用所对应的 web.xml,找到url-pattern 元素。

              接下来,依据 servlet-class 元素指定的类名,创建 Servlet 实例。

           d,Servlet 实例可以通过 Request 对象获取请求参数值。也可以通过 Response 对象输出结果。

           e.Servlet 引擎从 Response 对象中获取结果,生成响应数据包。

           f.浏览器解析服务器返回的响应数据包,生成相应的界面。

     (2)Servlet 容器如何处理请求资源地址

     eg.http://ip:port/appname/abc

         step1:依据 appname,找到对应的应用;然后,依据 web.xml 中的 url-pattern 与/abc匹配。

         step2:匹配过程----a.精确匹配
                                          b.通配符匹配:即使用"*","*"代表任意的字符串。
                                          c.后缀匹配:以"*."开头,后面加上任意的字符串,比如"*.do"。匹配任意以.do 结尾的请求。

         step3:如果匹配不成功,此时,会查找对应的资源,,认为这是一种静态资源;

                    若找到,则返回,找不到,返回 404。

四.get/post

      get 请求一般用于向服务器请求资源。不安全。
      post 请求一般用于向服务器提交数据。

五.表单处理

     获取表单数:

     String request.getParameter(String paraName);          //paraName 对应的参数名不存在,返回 null。
     String[] request.getParameterValues(String paraName);
     Map request.getParameterMap();                                    //返回所有的请求参数与请求参数值对。

六.重定向

     定义:服务器向浏览器发送一个状态码 302 及一个消息头 location(location 的值是一个地址),浏览器会立即向 location 所指定的地址发送一个新的请求。

     语法:response.sendRedirect(String url);
     注意:在重定向之前,不能够有任何的输出;如果 response 缓存当中有数据,在重定向之前,会自动清空。

七.异常处理

     1步:throws  系统异常

     2步:在 web.xml 中,配置一个错误处理页面

              eg.

                  <error-page>
                    <error-code>500</error-code>
                    <location>/error.html</location>
                 </error-page>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值