JavaWeb学习-JSP系列-3-JSP基本语法

本篇开始学习JSP的语法和相关指令和对象,前面做了几个jsp文件,以及有一些语法基础。下面来简单介绍一下JSP的基础语法,用代码例子来演示。

1.JSP模板元素

这个网页的静态内容,例如html的标签和文本

 

2.JSP的脚本

2.1小脚本<%java代码%>

 

2.2 表达式<%= 2+3> 等价于 out.print(2+3)

这里通过前面练习,<%java代码%>我们已经很熟悉了,这种方式可以写少量的代码,所以叫小脚本。大量的逻辑代码也不会在JSP页面写,根据前面JSP最佳实践,应该在Servlet中写业务逻辑处理。

新建一个web动态项目,写一个index.jsp,内容如下

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




Insert title here


	<%
		int i = 10;
		out.print(i);
	%>
	
	<%=
		i
	%>

上面两种方式输出i的值,来证明<%=i> 等价于 put.print(i), 我们可以从tomcat服务器下work路径找到index_jsp.java看看代码,两个是一样的打印语句。

JavaWeb学习-JSP系列-3-JSP基本语法_第1张图片

2.3 声明<%!%>在类中定义全局变量和静态代码块

接着2.2代码,我们写一个局部变量来看看

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




Insert title here



	<%!
		int i = 10;
	%>
	
	<%
		int j = 10;
	    i++;
	    j++;
	%>
	
	<%
		out.print(i);
		out.print(j);
	%>
	

浏览器访问,第一次访问,两个输出都是11

JavaWeb学习-JSP系列-3-JSP基本语法_第2张图片

第二次访问,I的值变了,J一直显示11,不管刷新,访问多少次,i一直在加1.

JavaWeb学习-JSP系列-3-JSP基本语法_第3张图片

出现这个原因,就是i是全局变量,刷新一次就加1,而j是局部变量,每次请求都是先赋值10,然后加1等于11,下面看看源码,还是在index_jsp.java中。

JavaWeb学习-JSP系列-3-JSP基本语法_第4张图片

这个变量i定义在类中,不存在任何一个成员方法里。而J是定义在_jspService()方法中,是一个局部变量。

 

3.JSP中的注释

上面代码没有注释,很难看,如果初学者,这里介绍JSP的注释。

3.1 网页注释

我们学习html或者xml,都知道注释是, 同样jsp也支持这个

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




Insert title here


	
	<%!
		int i = 10;
	%>
	
	<%
		int j = 10;
	    i++;
	    j++;
	%>
	
	<%
		out.print(i);
		out.print(j);
	%>
	

浏览器访问,右键,查看源码。

JavaWeb学习-JSP系列-3-JSP基本语法_第5张图片

这种注释,在html源码可见,不安全,费流量,因为这个注释也需要冲服务器加载然后解析到浏览器。

 

3.2JSP注释

在JSP中如果java代码,可以使用java当行//或者 /* 多行注释*/。 这里介绍JSP本身注释。<%-- --%>

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




Insert title here


	
	<%!
		int i = 10;
	%>
	
	<%-- 这里定义一个局部变量 --%>
	<%
		int j = 10;
	    i++;
	    j++;
	%>
	
	<%--
		int j = 10;
	    i++;
	    j++;
		多行注释举例阿
	 --%>
	<%
		out.print(i);
		out.print(j);
	%>
	

浏览器刷新,还是查看源码,就会发现,采用jsp注释语法,注释内容就不会显示html源码中。这就有一个安全,不费流量的好处。

你可能感兴趣的:(JavaWeb学习-JSP系列-3-JSP基本语法)