jsp页面的基本组成部分:指令,表达式,小脚本,声明,注释,静态内容。java
指令元素有三种:web
一、page:eg <%@ page 属性名="属性值" 属性名="属性值;属性值"... %> 常见的属性有 language,import ,contentType。服务器
二、includecookie
三、taglibsession
jsp注释app
HTML注释 在客户端可见。<!-- HTML注释 -->jsp
jsp注释,在客户端不可见。<%-- JSP注释--%>.net
在jsp脚本当中使用java的单行/多行注释; <% // 单行注释 %> <% /* 多行注释 */ %>code
jsp的脚本元素 <% java代码 %>对象
jsp的声明 <%! String s="zhangsan" ;int add(int i,int y){ return x+y} %>
jsp表达式 <% =表达式 %>
jsp页面的生命周期:一次init,屡次调用service方法处理用户的每次请求。
jsp的内置对象:out 、request、response、session、application、page、pageContext、exception、config。
out对象介绍: 主要方法有println clear flush clearbuffer 要注意的是执行了flush以后不能执行了clear,不然回报错,但flush以后能够有clearbuffer方法。
请求转发和请求重定向的区别和联系:请求重定向属于response的一个方法,属于客户端行为,从本质来讲是两次请求,前一次不会保存,地址栏会发生变化。与之相对应的是request对象的转发方法,是一种服务器行为,地址栏不会变化。
javaBeans的四个做用域范围:page,request,session,application
jsp的modle1是传统的三层,有jsp接受数据由JavaBean处理业务逻辑和封装数据,再有usedBeans调用持久层。
jsp的状态管理:
一、HTTP的无状态性。这个是先天不足。
二、保存用户状态的两大机制:session 、cookie;cookie是web服务器保存在客户端的数据技术,常见的应用场景在购物车里面;记住登陆名和密码都是cookie技术从而简化登录,但容易泄露用户数据。
三、cookie的建立和使用 使用URLEncode来使中文没法解码的问题,该方法位于java.net包下。
指令与动做
page指令已经讲过了,接下来来是include
一、指令,其有一个file属性能够指明包含页面。
二、动做,有page和flush两个属性。
区别:主要区别有两个:页面包含内容不同,编译事后文件个数不同。
forward动做 至关于服务器短的转发效果。属性只有一个page属性。
param动做经常与forward动做一块儿使用做为forward的子一级。