HTTP适配层

一、JSP和Servlet

1.JSP和Servlet是J2EE的规范的两个基本成员,也是Java Web开发的重点。JSP通过在标准的html页面嵌入Java代码构成,本质也是Servlet。Servlet是个特殊的Java类,用来响应客户端的请求,一般都是继承HttpServlet类。

2.Servlet类提供了不同的方法,用于响应客户端请求,通常需要覆盖doGet和doPost方法,init和destory方法是初始化和销毁Servlet资源时,需要重写的方法。

3.web.xml文件为配置描述符文件,在Servlet2.5规范之前为必须包含的文件。web.xml配置了项目启动时加载的信息,比如<context-param/>配置参数,<listener/>配置你的监听器,<filter/>配置过滤器,<servlet/>配置你的servlet实现。在启动web项目时,web容器首先会读取web.xml里的配置,然后成功启动。

二、Servlet入口

1.MainServlet类为servlet的入口类,继承了HttpServlet类。它负责拦截所有以.do结尾的URL请求。

2.在web.xml配置文件中,类似下面的配置:

<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>
com.cn.spring.http.servlet.MainServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>

</servlet-mapping>

3.servlet配置中,也可以定制初始化参数,例如:

<init-param>
<param-name>param</param-name>
<param-value>value</param-value>

</init-param>

上面的参数,可以在servlet中,调用getServletConfig().getInitParameter("param")方法,获得参数名对应的值。

三、容器初始化

1.在Servlet的生命周期中,init()方法在服务器装入Servlet时执行一次。可以用来配置服务器,初始化并装载容器。装载完成后,MainServlet就持有一个容器对象WebApplicationContext,再通过WebApplicationContext的getBean方法,获取mainController等对象。每当有交易请求时,由mainController对象发起后续处理逻辑。

2.整个初始化流程如下:

— 读取servlet配置中的初始化参数,初始化变量;

— 初始化WebApplicationContext。通过BeanUtils加载XmlWebApplicationContext类,并初始化。再调用refresh方法,装载spring容器;

— 通过WebApplicationContext,获取bean对象。

四、Ajax支持

1.Ajax即Asynchronous JavaScript and Xml(异步的JavaScript和Xml)。Ajax不是新的编程语言,而是一种使用现有标准的新方法。Ajax是与服务器交换数据并更新部分网页的技术,在不重新加载整个页面的情况下。传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页。

2.XMLHttpRequest是Ajax的基础,所有现代浏览器均支持XMLHttpRequest对象(IE5和IE6使用ActiveXObject)。

3.创建XMLHttpRequest对象的语法:

variable = new XMLHttpRequest();

老版本的Internet Explorer(IE5和IE6),使用ActiveXObject对象:

variable = new ActiveXObject("Microsoft.XMLHTTP");

4.为了应对所有的现代浏览器,包括IE5和IE6,请检查浏览器是否支持XMLHttpRequest对象。

如果支持,则创建XMLHttpRequest对象;如果不支持,则创建ActiveActiveXObject对象:

var xmlhttp;
if(window.XMLHttpRequest){
// code for IE7+,Firefox
xmlhttp = new XMLHttpRequest();
}else{
// code for IE5,IE6
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

5.向服务器发送请求

如需将请求发送到服务器,我们使用XMLHttpRequest对象的open()和send()方法:

方法1:open(method, url, async)
描述1:规定请求的类型、URL以及是否异步处理请求。
method:请求的类型;GET或POST。
url:文件在服务器上的位置。

async:true(异步)或false(同步)。

方法2:send(string)
描述2:将请求发送到服务器。
string:仅用于POST请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值