Jsp知识点
- 基础
1)jsp是Servlet编写的一种技术,他将java代码和HTMl语句混在一起,只对网页中的要动态产生的内容用java代码写
2)写一个helloWorld.jsp的例子
新建一个jsp页面,再body的节点上写java代码
<body>
<%
Date date = new Date();
System.out.println(date);
%>
</body>
- jsp可以放置再web程序的除了Web—inf及其子目录外的任何其他目录
- Jsp本质上是一个servlet
- Jsp页面的隐含变量
Public void _jspService(){
PageContext pageContage = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
//使用<%%>编写的代码再这个位置,可以用到上面定义的8个对象
>request:HttpServletRequest的一个对象
>response:HttpServletResponse的一个对象(这个用的很少)
>pageContext:页面的上下文,可以从该对象获取到其他8个对象,也可以获取当前页面的其他信息(学习自定义标签的时候会学他)
>session:代表浏览器和服务器的一次会话,是HttpSessoin的一个对象,后面会详细学习
>application:代表当前WEB应用,是ServletContext对象
>config:当前jsp对应的Servlet的ServletConfig对象(几乎不用),若需要访问当前JSP配置的初始化参数,需要通过映射地址才可以
>out:JspWriter对象,可以直接将字符打印到浏览器上
>page:指向当前jsp对应的Servlet对象的引用,但为Object对象,只能电泳Object方法,几乎用不着
>exception:再声明了page指令isErrorpage=“true”时,才可以使用
<%@page isErrorPage="true" %>
}
- jsp表达式
<%= date%> 这样的表达式可以直接打印date数据
- jsp声明:jsp声明将java代码封装再<%! %>里面:比如
<%! void test(){}%>
我们一般不这么用
- jsp注释的格式:<%-- jsp注释--%> <!-- HTML注释 --!>
区别:jsp注释可以阻止Java代码的执行
- 属性相关的方法
Object getAttribute(String name):获取指定的属性
Enumeration getAttributeNames():获取所有属性的名字组成的Enumeration对象
removeAttribute(String name):移除指定的属性
Void serAttribute(string name,object o):设置属性
*.pageContext,request,session.application对象都有这些方法,这四个对象为域对象
pageContext:属性的作用范围仅限于当前jsp页面
Request:属性的作用范围仅限于同一个请求
session:属性的作用范围作用于一次会话:浏览器打开到关闭
Application:属性作用范围在当前web应用