标签:
JSP:
Jsp页面除了比html多一些java代码,指令,和动作外,二者的结构基本相似。
Jsp页面嵌入java代码多用<%java code%>形式,给页面赋值多用<%=value%>形式。java代码要与java语法符合。
Jsp常用指令:page,include和taglib。
page指令:用来指定jsp的全局属性,常用的如语言,导包,继承(不建议使用),session是否可用,缓冲区大小,errorpage,contentType等属性。
include指令:在当前Jsp页面中加载需要插入的文件代码,即为页面插入一个静态页。(和安卓的include有点相似)。
taglib指令:语法格式<%@ taglib uri="tagLibraryURI" prefix="tagPrefix"%>
uri:标记库的位置,告诉jsp如何处理指定标签库的标签。prefix:用于指定标记库中所有动作元素名使用的前缀。
Jsp常用动作:
<jsp:param>可用于include和 转发,为其他动作传送一个或者多个参数。语法:<jsp:param name="参数名" value="参数值">
<jsp:include><jsp:include page="文件名" flush="true"><jsp: parm name="参数" value="参数值"></jsp>与指令的根本区别在于他们被调用的时间。
<jsp:useBean>用来加载所使用到的bean<jsp:useBean id=“Bean实例的名称” scope="作用域" class="类的全路径 type=“指定引用该对象的变量类型" beanName=”指定Bean的名字,必须和type结合使用,不能与class同时使用“>
<jsp:setProperty>设置或修改已经实例化的bean<jsp:setProperty name="bean的名称" property="属性名称" param="值">
<jsp:getProperty> <jsp:getProperty name="user" property="userName">
Jsp常用内置对象:
out对象,可以输出挺多东西的.(out.print(),out.get...)
request对象,客户端请求的各种信息(get一堆...)
response对象:响应客户端的各种信息。
session对象:这个不多说了,很重要。
pageContext:页面上下文,能和其他属性产生很好的互动。
exception:处理jsp错误和异常。
application:整个web应用的对象,无生命周期,和session的区别类似于一个是纵向的一个是横向的。
Servlet:
服务器初始化时会调用servlet的init方法,销毁时会调用destory方法,响应时会调用service方法根据请求类型去调用各种具体的方法。
Servlet的操作一般在具体的请求的方法里做,其中request和response能拿到的东西和jsp是一样的。
其实jsp也是servlet。
这里我也简单给重定向和转发做个区分:
最基本的区别,重定向用户的浏览器url会改变,而转发不会。
转发:
request.getRequestDispatcher("success.jsp").forward(request,response);
重定向:
response.sendRedirect("success.jsp");
通过代码就可以看出,转发是将请求分发到另一个组件去做处理,而且会将request和response传过去,这也就是为什么转发后request的东西都能拿的到,而response也是原来的resopnse。
但是重定向就不行了,他只是将相应重新定向到另一个组件,相当于他去再请求一次。
标签:
原文地址:http://blog.csdn.net/l_vaule/article/details/51336552