JSP

153 阅读2分钟

一、引言

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

3.3.2 JSP.java源文件存放目录