欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JSP页面的概念

程序员文章站 2022-05-14 22:21:59
...

JSP页面

HTML页面属于一种静态页面,既然有静态页面,就会有动态页面

HTML页面和JSP页面的区别:

  • 在HTML中只能定义css,js等
  • 在js中除了可以定义css和js等之外,还可以定义Java代码,也可以在jsp中使用 EL 表达式,和 jstl 标签,但是Java代码必须使用 <%代码%>

定义JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

以上是在jsp页面的顶部出现的内容,它是jsp的page指令,指定了页面的编码

为jsp设置默认的编码为UTF-8

在JSP中定义Java代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>你好!</h1>
	<%
		System.out.println("Hello World");
		String sessionId = session.getId();
		System.out.println(sessionId);
	%>
	<!-- 可以取得Java中定义的变量 -->
	<%=sessionId %>
</body>
</html>

JSP页面的概念
以上的代码要注意:<%=变量名%>,这是一种表达式,叫作Scriptlet表达式。和它类似的功能还有Expression Language(EL表达式)
但是EL表达式能将内置对象中的属性输出

使用EL表达式输出sessionId

<body>
	<h1>你好!</h1>
	<%
		System.out.println("Hello World");
		String sessionId = session.getId();
		session.setAttribute("sessionId", sessionId);
	%>
	<h1>${sessionId}</h1>
</body>

JSP页面的概念
以上的内容是使用EL表达式输出的,EL表达式不仅仅可以输出一个变量的值,还可以输出对象的内容

其实在第一次访问一个JSP页面的时候相对来说是很慢的,因为访问过程要经历以下步骤:
1.将访问的JSP页面转换成对应的*.Java文件
2.将转换后的*.Java文件编译成*.class
3.将*.calss文件解析成*.html页面响应给浏览器

如果是第二次访问:

  • jsp被修改了:此时重新执行上面三个步骤
  • jsp没有被修改:直接执行第三个步骤
    JSP页面的概念