JSP笔记(1)——JSP简介与JSP代码片段

目录

1. JSP简介

2. JSP与Servlet

3. JSP代码片段

(1) Java代码块

(2) 声明语句块

(3) 表达式语句块


1. JSP简介

JSP(Java Serve Pages),Java服务器页面,即运行在服务器端的页面。

JSP技术是一种动态网页技术,是在HTML文件中插入Java代码片段和JSP标签后形成的一种文件。

使用JSP开发的Web应用是跨平台的,即能在Linux上运行,也能在其他操作系统上运行。

2. JSP与Servlet

JSP的本质是Servlet。所不同的是:JSP是用于进行展示数据的Servlet,而普通Servlet是用于完成业务逻辑处理的。

由于Servlet是运行在单例多线程环境下的,因此JSP也是运行在单例多线程环境下的。

JSP规范:JSP规范中包含了如何将JSP页面翻译为Servlet。JSP页面中的HTML,CSS,JavaScript和普通文本,都会被翻译到out.write()中。而将JSP页面翻译为Servlet的这个过程,是由tomcat中内置的一个JSP翻译引擎所完成的,该翻译引擎遵循JSP规范。在第一次访问JSP页面时,翻译引擎会将JSP页面翻译为Servlet的.java文件,在将其编译为.class文件进行运行。

3. JSP代码片段

(1) Java代码块

Java代码块/JSP小脚本,是以<% %>括起来的部分,其中可以编写Java代码。

Java代码块的Java代码是被翻译到Servlet的_jspService()方法中,以_jspService()方法的Java语句的形式出现。

Java代码块可以放置在JSP页面的任意位置,执行顺序与放置顺序一致。

Java代码块是被翻译到Servlet的_jspService()方法中,因此Java代码块需要注意以下几点:

  • 声明的变量不能添加访问控制符(因为这些JSP代码块是被翻译在Service方法中,方法中的变量无法添加访问修饰符)
  • 不能不能方法(Java语法中,方法不能嵌套方法)
  • 不能定义静态语句块(静态代码块中是放到类中的,不能放在方法中)

first.jsp

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

	<%
		double price = 2.0;
	%>



	<%
		double count = 0;
	%>
Insert title here


	Hello,world!
	<%
		System.out.println("这是Java代码块");
	%>

	<%
		count = amount * price;
	System.out.println("count = " + count);
	%>

JSP笔记(1)——JSP简介与JSP代码片段_第1张图片

JSP笔记(1)——JSP简介与JSP代码片段_第2张图片

 

(2) 声明语句块

① 声明语句块是被翻译到类中,处于_jspService()方法之外的,因此

  • 声明语句块中的变量是成员变量,可以添加访问权限符
  • 声明语句块可以定义方法
  • 声明语句块可以定义静态语句块

② 声明语句块会出现线程安全问题

first.java

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
   <%!
   		//声明语句块的变量是成员变量,可以添加权限访问符
   		private int a = 9;
   		//声明语句块可以定义方法
   		public void showData(double data){
   			System.out.println("data = " + data);
   		}
   		//声明语句块可以定义静态语句块
   		static{
   			System.out.println("我是静态语句块");
   		}
   %>




Insert title here


	Hello,world!
	<%
		showData(a);
	%>


JSP笔记(1)——JSP简介与JSP代码片段_第3张图片

(3) 表达式语句块

作用:将数据显示到客户端页面

first.java

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
   <%!
   		//声明语句块的变量是成员变量,可以添加权限访问符
   		private int a = 9;
   		//声明语句块可以定义方法
   		public void showData(double data){
   			System.out.println("data = " + data);
   		}
   		//声明语句块可以定义静态语句块
   		static{
   			System.out.println("我是静态语句块");
   		}
   %>




Insert title here


	Hello,world!
	
a = <%= a %> <% showData(a); %>

JSP笔记(1)——JSP简介与JSP代码片段_第4张图片

JSP笔记(1)——JSP简介与JSP代码片段_第5张图片

你可能感兴趣的:(JSP,JSP)