一、引言
1.1 现有问题
在之前学习Servlet时,服务端通过Servlet
二、JSP(Java Server Pages)
2.1 概念
2.2 作用
替换显示
三、JSP开发【重点】
3.1 创建JSP
在web目录下新建*.jsp文件(与WEB-INF平级)
3.1.2 JSP编写Java代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
Now: <%= new java.util.Date() %> //输出脚本 <%= %>
</body>
</html>
3.1.3 访问JSP
在浏览器输入http://ip:port/项目路径/资源名称
3.2 JSP与Servlet
· 关系 · JSP文件在容器中会转换成Servlet执行 · JSP是对Servlet的一种高级封装,本质还是Servlet · 区别 · 与Servlet相比:JSP可以很方便的编写或者修改HTML网页而不用面对大量的println语句
3.3 JSP实现原理
Tomcat会将xxx.jsp转换成java代码,进而编译成.class文件,最终将运行结果通过response响应给客户端
3.3.1 JSP.java源文件存放目录
使用IDEA开发工具,Tomcat编译后的JSP温江(xxx_jsp.java和xxx_jsp.class)的存放地点:C:\Users\tumailefu\IdeaProjects\system\tomcat\项目名称\work\Catalina\localhost\应用上下文\org\apache\jsp
四、JSP和HTML集成开发
4.1 脚本
脚本可以编写java语句、变量、方法或者表达式
4.1.1 普通脚本
语法: <% java代码 %>
注意:脚本与脚本之间不可嵌套,脚本与HTML标签不可嵌套
4.1.2 声明脚本
语法: <%! 定义变量、函数 %>
<%! int i = 0; %>
<%! int a,b,c; %>
<%! bject object = new Object(); %>
<%!
//定义方法
public void m1(){
System.out.println("你好");
}
%>
· 注意:声明脚本声明的变量是全局变量 · 声明脚本的内容必须在普通脚本<% %>中调用 · 如果声明脚本中的函数具有返回值,使用输出脚本调用<%= %>
输出脚本
语法:<%= %>
4.2 注释
<%-- JSP注释 --%>
4.3 JSP指令
JSP指令用来设置与整个JSP页面相关的属性
| 指令 | 描述 |
|---|---|
| <%@ page... %> | 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等 |
| <%@ include... %> | 包含其他文件 |
| <%@ taglib... %> | 引入标签库的定义,可以是自定义标签 |
4.3.1 Page指令
· 语法 <%@ page attribute1 = "value1" attri... %> · Page指令维容器提供当前页面的使用说明,一个JSP页面可以包含多个page指令
| 属性 | 描述 |
|---|---|
| contentType | |
| errorPage | 包含其他文件 |
| isErrorPage | 引入标签库的定义,可以是自定义标签 |
| import | 导入要使用的包 |
| session | 指定JSP页面是否使用session,默认是 |
| contentType |