servlet,xml,requset,response

xml

基本上都用来作配置文件

两种约束
1.DTD
2.Schema

解析

servlet接口

运行在web服务器中的小型程序

servlet接口中的方法{
init
service
destroy
getServletConfig
getServletInfo
}

HttpServlet类的方法
{
dopost
doget
}

生命周期:一个对象从创建到销毁的过程
生命周期方法:
init:初始化
service:有请求就执行
destroy:销毁方法

servlet配置
在web.xml中进行配置
基本配置:完全匹配,目录匹配,扩展名匹配

完全匹配
<servlet>
    <servlet-name>ceshi1</servlet-name>
    <servlet-class>com.itdr.servletdemo.demo1.Servlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ceshi1</servlet-name>
    <url-pattern>/sss</url-pattern>
</servlet-mapping>

目录匹配
<servlet>
    <servlet-name>ceshi2</servlet-name>
    <servlet-class>/demo1/*</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ceshi2</servlet-name>
    <url-pattern>/sss</url-pattern>
</servlet-mapping>

扩展名匹配
<servlet>
    <servlet-name>ceshi3</servlet-name>
    <servlet-class>*.do</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ceshi3</servlet-name>
    <url-pattern>/sss</url-pattern>
</servlet-mapping>

以上三种匹配方式,都是在配置文件里设置的,不可重复使用,例如

	<servlet>
    <servlet-name>ceshi4</servlet-name>
    <servlet-class>/demo1/*.do</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ceshi4</servlet-name>
    <url-pattern>/sss</url-pattern>
</servlet-mapping>

这是错误的

缺省
<servlet>
    <servlet-name>ceshi</servlet-name>
    <servlet-class>com.itdr.servletdemo.demo1.Servlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ceshi</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

ServletContent对象
web应用的环境上下文对象
一个web应用只能有一个ServletContent对象

生命周期:web应用开始到结束

作用域范围:整个web应用

应用方法: 
this.getServletContext();
 或者 config.getServletContext();

作用:
1.获得web应用全局的初始化参数
2.获得web应用中任何资源的绝对路径
3.ServletContent对象是一个域对象{
servletContext.setAttribute();//放东西,放键值对
servletContext.getAttribute();//取东西,用键去取值
servletContext.removeAttribute(); //移除东西
}


request和response
请求和响应
request:
生命周期很短:一次请求开始,一次响应结束
作用域范围:一次请求中
请求转发,只有一个请求,不管转发多少个servlet
最终处理的servlet不一定是地址栏里的

response:
重定向
请求两次
处理完毕之后送到另一个地方,会改变地址栏的地址。
response.sendRedirect() 

重定向两次请求,转发一次请求
重定向地址栏发生变化,转发地址栏不变
重定向可以访问外部网站,转发只能访问内部资源
转发的性能优化于重定向
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值