1、JSP的四种基本语法
生成输出内容
- JSP注释:<%-- --%>
- JSP声明:<%! %>
- JSP输出表达式:<%= %>
- JSP小脚本:<% %>
2、JSP三个编译指令
用于通知JSP引擎
- page:是针对当前页面的指令
- include:用于指定包含另一个页面
- taglib:用于定义和访问自定义标签
使用上述编译指令的格式:<%@ 编译指令名 属性名="属性值" %>
3、JSP七个动作指令
动作指令表示的是JSP运行时的动作
格式:
- jsp:forward
- jsp:param
- jsp:include
- jsp:plugin
- jsp:useBean
- jsp:setProperty
- jsp:getProperty
下面内容写的很辣鸡,随便看看(上面也不怎么样)
1、JSP原理
生命周期:
- 编译阶段:servlet容器编译servlet源文件,生成servlet类
- 初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
- 执行阶段:调用与JSP对应的servlet实例的服务方法
- 销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例
2、简单实例
jsp代码块中也可以嵌套html元素,如:
例1:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%! int day = 3; %>
菜鸟教程(runoob.com)
IF...ELSE 实例
<% if (day == 1 | day == 7) { %>
今天是周末
<% } else { %>
今天不是周末
<% } %>
例2:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%! int fontSize; %>
菜鸟教程(runoob.com)
For 循环实例
<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
菜鸟教程
<%}%>
3、使用include包含其他的JSP文件
写两个文件date.jsp 和main.jsp。
date.jsp文件代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
main.jsp文件代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
菜鸟教程(runoob.com)
include 动作实例
现在将以上两个文件放在服务器的根目录下,访问main.jsp文件。显示结果如下:
中flush="true"
表示在包含资源前刷新了缓存区。
4、在JSP中使用JavaBean类
一个JavaBean类:
public class TestBean {
private String message = "菜鸟教程";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}
编译以上实例文件 TestBean.java :
$ javac TestBean.java
编译完成后会在当前目录下生成一个TestBean.class
文件, 将该文件拷贝至当前 JSP 项目的 WebContent/WEB-INF/classes/com/runoob/main 下( com/runoob/main 包路径,没有需要手动创建)。
下面是一个 Eclipse 中目录结构图:
接着让我们在main.jsp文件中调用该Bean:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
菜鸟教程(runoob.com)
Jsp 使用 JavaBean 实例
输出信息....
- 注意上面这里
表示使用使用这个JavaBean类,并且设了一个id为test(这个id后面有用) - 接着,
- 这里的
name
属性的值与之前的id相同,然后指定改变TestBean中的message属性的值为“菜鸟教程···” - 注意
jsp:setProperty
只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty
。
5、其他JSP元素
把请求转到另外的页面