发表时间:2009-09-20
最后修改:2009-09-21
配置虚拟目录
方式二:
在server.xml中的Context标签中配置:
<context path="/myweb" docBase="e:\myweb" reloadable="true"/>
方式三:
在conf\Catalina\localhost中建立
myweb.xml
<context path= docBase= reloadable=""/>
------------------------------------------
JSP页面的元素
scriptlet:<% java代码 %>
声明:<%! 声明或方法 %>
<%! int i; %> //有线程安全问题
动作:<jsp: include page="file.jsp"/>
注释:
<!-- 注释[<%= 表达式 %>] -->
<%-- 只在服务端看到的注释 --%>
--------------------------------------
JSP 指令
page指令属性:language,import,isErrorPage,buffer
language = "java";
extends="package.class" //不需要我们改
import = "";
java.lang.*;
javax.servlet.*;
javax.servlet.jsp.*;
javax.servlet.http.*;
以上包不需要我们手动引入,会自动引入
session=true //session是否打开,默认为打开
buffer = "none|8kb|size kb";// 输出流缓冲大小
autoFlush="true|false";//是否自动刷新缓冲区
isThreadSafe="true|false";//是否多线程,默认为true
* errorPage="relativeURL";//产生异常后跳到哪个页面
//以上是浏览器内部跳转
* isErrorPage="true";//为true可用exception对象
pageEncoding="UTF-8";//显示中文
除了import外,其它属性只能用一次
include 指令
<%@ include file="filename" %>
页面在编译成servlet之前就被填进来
taglib 指令
<%@ taglib src="" prefix=""%>
------------------------------------
jsp: include 动作
<jsp:include page="a.jsp" flush="true"/>
分开编译,运行到这时,将a.jsp的结果填充进来,
所以它是一个完整的jsp页面,而include指令填
充进来的不是完整的。
flush: 可选,如果为true,在编译之前刷新缓冲
<jsp:include page="a.jsp" flush="true">
<jsp:param name="" value=""/>
</jsp:include>
jsp:forward 动作
完成服务器内部跳转,地址栏不动,后台跳