一,JSP指令
jsp一共有3个指令:include,page,taglib,包含在<%@ %>中。
page指令作用于整个jsp页面,建议把page指令代码放在开头。
import属性:指定当前jsp页面需要导入的类
session属性:取值是true或false,指定当前属性的session隐藏变量是否可用。也可以说访问当前页面是否生成session对象
errorPage和isErrorPage:
----》errorPage指定如果当前页面出现错误则相应的页面,其中/代表web应用的根目录
----》isErrorPage指定当前页面是否为错误处理页面,可以说明当前页面是否可以使用exception隐藏变量
----》如何使客户不能直接访问某一个界面?把代码放进WEB-INF的文件夹里。但是通过请求的转发是可以的。
也就是说,在相应error.jsp中,jsp引擎使用的请求转发的方式。
contentType:指定当前jsp页面的响应类型。基本上是一个html。
pageEncoding:指定当前jsp页面的字符编码,通常情况下该值与contentType的charset一致
isELIgnored:指定当前jsp页面是否可以使用EL表达式,通常为false
配置出现错误时的响应:
二,include指令(静态引入)
file属性的设置值必须使用相对路径,如果是以“/”开头,则表示相对于当前web应用程序的根目录,否则表示当前文件
注意:只有一个源文件
三,动态引入
注意:有2个源文件。
①<jsp:include page="b.jsp"></jsp:include>
动态引入,生成2个java源文件,然后通过一个方法的方式把一个页面包含进来。
四,jsp:forward指令
相当于转发。
使用此指令可以同时使用子标签jsp:parm传递一些参数。
五,中文乱码
在jsp页面上输入中文,请求页面后不出现乱码
①保证contentType="text/html;charset=UTF-8”,pageEncoding="UTF-8"和pageEncoding的编码一致,并且都支持中文,通常建议取值为UTF-8
还需要保证浏览器显示的字符编码也和请求的jsp编码一致。
②获得中文参数:数据传输的时候默认编码是iso-8859-1
对于post请求,只要在获取请求信息之前,调用request.setCharacterEncoding("UTF-8"); 即可。
对于get请求,前边的方法不能用,通过修改server.xml文件的格式