若浏览器支持Cookie ,创建Session时SessionID会保存到Cookie中;若不支持,可用URL重写的方式实现Session:response.encodeURL()(作用为转码,在URL后加SessionID)
一个窗口对应一个Session,一个窗口及其子窗口为同一个Session,Application内容可共享(不同Session)
JSP本质为Servlet,只有一个对象,初始化一次
<%! %>声明成员变量,<% %>声明局部变量。 <% 程序代码%> <!-- HTML注释,客户端可见--> <%-- 不可见注释--%>
<%= a% >输出a的值,a为字符串或可转换为字符串的表达式 JSP中可直接用Session
<%@ include file=" "%>为jsp指令,不能带参数,先嵌入再编译
jsp页面是把include指令元素(<%@ include file=""%>)所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被jsp容器将它转化成servlet。可以看到这时会产生一个临时class文件和一个servlet源文件。而动作元素(<jsp:include
page=""/>)是在请求处理阶段引入的,会被JSP容器生成两个临时class文件和两个servlet原文件。而引入的只是servlet的输出结果,即JspWriter对象的输出结果,而不是jsp的源代码。
<jsp:include page=“ ” flush=“true”/>可带参数,动态编译载入
<jsp:include page=“ ” flush=“true”>
<jsp:param name="ParamName" value="paramValue"/>
</jsp:include>
<jsp:forward>使用同一个request对象,服务器自动跳转到另一个页面,客户端URL不变
response.sendRedirect是不同的request,服务器响应使客户端重新发送请求到另一个页面,客户 端URL指向新的页面