基本语法
Html
两种注释
一种是可见的,标准的HTML注释。
<!-- 这里三注释-->
另一种是对客户端隐藏的,也就是再浏览器中查看源代码的时候不会显示。
<%-- 这里是注释 --%>
引入servlet类的东东。
表达式 <%= JavaExpression %>
JSP计算表达式并且将计算结果输出到页面上。语法如下:
PS:表达式结尾没有分号,前面有等号。
脚本段 <%java code%>
PS:可以和html代码混合在一起。
声明 <%! java code%>
核心元素(6,3,8)
6个Action标签
JSP动作可以动态的插入文件、重用JavaBean组件、把用户重新定向到另外的页面、为java插件生成HTML代码。
说明
- Jsp:useBean 寻找或者实例化一个JavaBean.
<jsp:useBean id="name" class="package.class" />
意思是创建一个class指定类的实例,给这个实例取名叫“name"
- Jsp:getProperty 提取指定bean属性的值,转换成字符串,输出。
<jsp:getProperty name="myName" property="someProperty" />
提取bean名称叫myName的bean的someProperty这个属性的值 - Jsp:setProperty 同getProperty对象,这个是写属性,那个是读属性。
<jsp:setProperty name="myName" property="someProperty" />
给bean名称为myName的bean的属性someProperty赋值 - Jsp:include 在页面被请求时引入一个文件
<jsp:include page="relative Url" flush="true" />
将relative URL指定的文件引入当前请求页面的文件 - Jsp:forward 把请求转换到另外一个文件可以三jsp或者servlet
<jsp:forward page={"相对URL值L" 或者 "<%=表达式%>} />
将当前请求request发送到URL指定的文件中。 - Jsp:plugin 根据浏览器类型为java插件生成OBJECT或EMBED标记。
下载运行java插件时运行
3个Directive命令
通过page,设置出错页面
通过taglib,定制标签库
8个内置对象
这8个内置对象就是我们常用到的一些jsp应用的抽象,封装。就相当于我们程序中的类一样。只不过这个是系统已经提供的类。其中很多对象与servlet的对象完全相同。
- Request 对象
封装了客户端到服务器的数据。这些数据有客户提交的数据,也有客户端的一些配置信息。比如客户的IP,主机名等。通过getAttribute方法和setAttribute方法页面获得服务器的数据和向request添加数据。可以利用getParameter查看请求参数。也可以查看请求类型,请求的HTTP头等。
- Respose 对象
从服务器到客户端的响应封装。用来将服务器的内容写入客户端。常用的是getWriter方法。在客户端打印数据。
- Out 对象
用来向客户端打印数据。它就像是response的一支笔。执行具体的打印动作。
- Session 对象
提供服务器和客户端的会话。一个session就像是一次对话。对话的内容是用户的状态和一些认证信息。
- Application 对象
就是一个公用的会话。与session相对。session是每个用户独有的。Application 是这些用户共享的一些数据。
- Config 对象
提供servlet的一些配置信息。仅在当前页有效。
- pageContext 对象
提供存取所有关于JSP程序执行时所需的属性和方法。如session application config out。
有效范围为当前页。这个就像是这些对象的一个大容器。
- Page 相当于java类中的this。表示当前页面。
编程模型
Simple
Fowarding
Servlet
Servlets能够只用RequestDispatcher对象的forward方法永久地把控制传给其它的Servlets
JSP
控制转给目标页面
Include
Servlet
Servlets能够使用RequestDispatcher对象的include方法临时地把控制传给其它的Servlets
JSP
将执行被包含JSP并且该JSP的输出将插入到所调用它的JSP中一起输出
Decoupled