一、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请求。