1、注释
JSP的注释: <%-- 注释内容 --%>
JSP隐式声明: <%-- 注释内容 --%>(在Jsp页面上是无法看到的,而且在源文件中也是看不到的)
HTML的注释: <!-- 注释内容 -->
2、变量声明
<%! int i = 2; %>
3、Jsp的include指令是指包含页面在编译时将完全包含了被包含页面的代码
4、JSP的9个内置对象:
page:代表该页面本身
session:代表一次会话,当客户端浏览器与站点建立连接时,会话开始;当客户端关闭浏览器时,会话结束
application:代表JSP所属的web应用本身,可用于JSP页面,或者在Servlet之间交换信息
pageContext:代表该JSP页面上下文
config:代表该JSP的配置信息
exception:代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时,该对象才可以使用
out:代表JSP页面的输出流,用于输出内容
request:该对象封装了一次请求,客户端的请求参数都被封装在该对象里
response:代表服务器对客户端的响应
5、JSP编译后就是Servlet,Servlet跟JSP的区别是:
(1)Servlet中没有内置对象,原来JSP中的内置对象都必须由程序显示创建
(2)对于静态的HTML标签,Servlet都必须使用页面输出流逐行输出
6、Servlet在容器中运行,它的实例的创建和销毁等都不是由程序员决定的,而是由容器进行控制的。
其生命周期:Web容器加载Servlet,生命周期开始。通过调用Servlet的init()方法进行Servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do**()方法。结束服务,Web容器调用Servlet的destroy()方法
7、Servlet之间的跳转:
(1)转向(Forword):服务器端的跳转,地址栏不会改变
(2)重定向(Redirect):重定向是利用服务器返回的状态码来实现的。客户端浏览器请求服务器的时候,服务器端会返回一个状态码。服务器端通过HttpServletResponse的setStatus(int status)方法设置状态码。如果服务器返回301或者302,则浏览器会到新的网址重新请求该资源。
8、Servlet中Cookie的增加
addCookie.jsp中添加
String name = request.getParameter("name");
Cookie c = new Cookie("userName",name);
c.setMaxAge(24*3600);
response.addCookie(c);
readCookie.jsp中添加
Cookie[] cookies = request.getCookies();
for(Cookie c : cookies){
if(c.getName().equals("userName"){
out.println(c.getValue());
}
}