jsp就是将Java代码嵌入到HTML页面
目录
jsp运行原理-----jsp本质就是servlet(面试)★
B/S技术:Brower/Server技术
在eclipse里启动tomcat服务器:Window下showvive other选Servers open 添加tomcat在本机的安装路径,添加。后将jsp页面add进去。然后start。服务器就开启了。
jsp运行原理-----jsp本质就是servlet(面试)★
jsp在第一次被访问时会被Web容器翻译成servlet,在执行
过程:
第一次访问---->helloServlet.jsp---->helloServlet_jsp.java---->编译运行
PS:被翻译后的servlet在Tomcat的work目录中可以找到
JSP的组成部分:
- 指令(<%@ %>)它是一个页面的指导(设置)命令 ★★★★★
- 小脚本 (<% %>)它是Java代码写入的地方 ★★
- 表达式(<%= %>)它是Java中的输出类似于System.out.printf(),输出到显示页面 ★★
- 声明(<%! %>)它是声明一个变量,方法等的地方★
- 注释(<%// /**/%>)它是注释 ★★★
- 标准动作,它是jsp已经写好的内容,需要被调用执行★
- HTML静态内容,就是写好的HTML代码j
jsp三大指令:
jsp的指令是指导jsp翻译和运行的命令,jsp包括三大指令:
page指令
- page指令 --- 属性最多的指令(实际开发中page指令默认)
- 属性最多的一个指令,根据不同的属性,指导整个页面特性
格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>
常用属性如下:
language | jsp脚本中可以嵌入的语言种类。只能是Java(唯一合法) |
isELIgnored | 对er表达式是否可以使用。默认值为true(忽略,不可使用)。 |
pageEncoding | 当前jsp文件的本身编码---内部可以包含contentType(设置当前页面的编码集。) |
contentType | response.setContentType(text/html;charset=UTF-8)。设置返回的页面类型,设置当前页面的编码集。 |
session | 是否jsp在翻译时自动创建session。当前页面是否参与HTTP会话,默认为true。 |
import | 导入java的包。这个指令可以重复多次,是page指令中唯一以一个可以重复多次的指令,指定jsp页面转换成servlet应该输入的包。在 jsp中,包是必要的。long包和当前包下的不必导入。 |
errorPage | 当当前页面出错后跳转到哪个页面 |
isErrorPage | 当前页面是一个处理错误的页面。默认f |
buffer | 定义out变量缓冲区的大小 |
autoFlush | 当缓冲区的内容将满时,是否刷新。 |
info | 给当前页面起一个名字。一般不会设置。 |
include指令
页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中
格式:<%@ include file="被包含的文件地址"%>
taglib指令
在jsp页面中引入标签库(jstl标签库、struts2标签库)
格式:<%@ taglib uri="标签库地址" prefix="前缀"%>
sp脚本和注释:
jsp脚本:
- <%java代码%> ----- 内部的java代码翻译到service方法的内部
- <%=java变量或表达式> ----- 会被翻译成service方法内部out.print()
- <%!java代码%> ---- 会被翻译成servlet的成员的内容
jsp注释: 不同的注释可见范围是不同
- Html注释:<!--注释内容--> ---可见范围 jsp源码、翻译后的servlet、页面 显示html源码
- java注释://单行注释 /*多行注释*/ --可见范围 jsp源码 翻译后的servlet
- jsp注释:<%--注释内容--%> ----- 可见范围 jsp源码可见
例子:11_21项目下的jps01.jsp文件
<%@ page language="java" import="java.util.Date,java.text.SimpleDateFormat" pageEncoding="utf-8" %>
<html>
<head>
<!-- 这个是注释 在浏览器源码中可显示 -->
<title>我是第一个jsp页面</title>
</head>
<body>
<%--这个是注释 在浏览器源码中不显示 --%>
<%
//这个是注释 不显示
Date date=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String formatDate = sdf.format(date);
%>
现在的时间是:
<%= formatDate %>
</body>
</html>
经过启动服务器就可以在网络下访问了。
网址访问方式(格式):http://IP地址:端口号/项目名称/jsp文件名
上例地址为:http://localhost:8088/11_21/jsp01.jsp
结果: