JavaWeb jsp语法(注释、变量和方法声明、表达式、Jsp指令、Jsp动作)

1.注释

1.1 html注释

HTML注释语法:

<!- - content[<%= expression %>] - ->

该注释通过在浏览器客户端可以看到源代码,通过查看源文件可以显示
实例源码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.util.*,java.util.Date"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%Date a=new Date(); %>
	<%=a %>
	<%! Calendar rightNow ;%>
	<%rightNow = Calendar.getInstance();%>
	<!-- This is HTML content(客户端可以看到源代码) -->
	<!-- 当前日期是:
	<%=rightNow.get(Calendar.YEAR) %>:
	<%=rightNow.get(Calendar.MONTH)+1 %>:
	<%=rightNow.get(Calendar.DAY_OF_MONTH) %>
	-->

</body>
</html>

运行结果:
在这里插入图片描述
网页右键查看源码:
在这里插入图片描述

1.2 jsp注释

JSP 注释语法:

<%- - JSP content - -%>
<% /* comment */ %>

实例代码:

	<%--This is JSP content(客户端不可以看到源代码)--%>
	<%! int total,begin,end;         //变量声明
       public int sum(int a,int b)  //方法声明
       {
			total=0;
			for(int i=a;i<=b;i++)
			total+=i;
			return total;
       }
   %>
   <% begin=1;
      end=10;
      total=sum(begin,end);//java 程序片段
   %>
	<h2><%=begin %><!-- jsp表达式 --><%=end %>
		的和为
		<%=total %>
		<br>
	</h2>

运行结果:

网页右键查看源码:
在这里插入图片描述

<%–This is JSP content(客户端不可以看到源代码)–%>
以上注释在客户端通过查看源代码时看不到注释中内容,安全性较高。

2.变量和方法声明

JSP中变量和方法声明语法:

<% declaration;[ declaration;]  %>
<%! declaration;[ declaration;]   %>

注意
“<%!”和“ %>”之间声明的变量在整个jsp页面内部有效,与“<%!”和“ %>”标记符在 jsp页面位置无关。
“<%”和“ %>”之间声明的变量称为局部变量,局部变量有效范围与其声明的位置有关,即声明后才可以在后继的小脚本和表达式中使用。
在这里插入图片描述
特别注意全局变量与局部变量的区分:
例如下面代码就会报错:a can not be resolved.

  <%=a %>
  <% int a=3; %>    

应该修改如下:

  <%=a %>
  <%! int a=3; %>   

3.表达式

JSP中表达式语法:

<%= expression %>

实例:
输出begin的值: <%=begin %>

4.Jsp指令

JSP指令一般格式:

<%@ directive {attribute=”value”} %>

在JSP中,主要有3种类型指令:page,include和taglib。

4.1 page指令

page指令用来定义Jsp文件中的全局属性,它描述了与页面相关的一些信息。
page指令语法:

<%@ page
[language=”java”]
[import=package.class,…”]
[info=”text”]
[errorPage=”relativeURL”]
[contentType=”mimeType[;charset=characterSet]| ”text/html;charset=ISO-8859-1]
[pageEncoding=”GB2312”]
[isErrorPage=true|false]
%>

说明:

  1. language=”java”
    声明JSP程序文件所使用语言,默认为Java。
  2. import=”package.class,…”
    import属性用来指定JSP网页中需要导入的包。
    如:
<%@ page import=”java.util.*” %>
<%@ page import=”java.sql.*” %>

如果用一个import指明要载入的多个包,需要用逗号“,”隔开。如:

<%@ page import=”java.util.*, java.sql.*” %>

对于java.lang.、javax.servlet.、javax.servlet.jsp.和javax.servlet.http. 这四个包在JSP编译时已经导入,不需要再指明。
3)info=”text”
Info属性设置JSP页面的文本信息,可以通过getServletInfo()方法获得该字符串。
实例1:

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" info="清华大学" pageEncoding="UTF-8" %>
<html>
  <body>
    <% String s = getServletInfo(); %>
    <h2>
    <%=s %>是中国最厉害的大学!
    </h2>
  </body>
</html>

在这里插入图片描述
4)errorPage=”relativeURL”
errorPage属性指明若当前页面产生异常,重定向到指定的relativeURL页面处理该异常。
5)isErrorPage=”true|false”
isErrorPage属性设置当前JSP页面是否为错误处理页面,默认值false。当设置为true时,该页面可以接收其它JSP页面出错时产生的exception对象,并通过该对象取得从发生错误网页传出的错误信息,语法如下:

<%=exception.getMessage()%>

实例2:
设置一个会错误的页面:
在这里插入图片描述
添加错误页面error.jsp:
在这里插入图片描述
运行结果:
在这里插入图片描述
6)contentType=”mimeType[;charset=characterSet]”|”text/html;charset=ISO-8859-1”]
contentType属性标明即将发送到客户程序的文档的MIME类型。JSP页面默认MIME类型是text/html,默认字符集是ISO-8859-1。MIME类型有text/html、application/msword、image/jpeg、image/gif、application/vnd.ms-excel等。
7)pageEncoding=”GB2312”
如果只想更改字符集,使用pageEncoding更简单。如:
<%@ page pageEncoding=”GBK” %>
如果要显示中文,一般设置字符集为GB2312或GBK。
实例三:
将数据显示为excel格式:
在这里插入图片描述
运行结果:
在这里插入图片描述

4.2 include指令

指出编译JSP页面时要插入的文件名(以相对URL形式),所以被包括文件内容成为JSP页面一部分。它通常用来包含网站中经常出现的重复性页面,例如网站导航栏。
include指令语法:

<%@ include file=”relativeURL” %>

使用include 指令,这个包含的过程是静态的。静态包含是指这个被包含文件将插入到JSP文件中放置<%@ include %>的地方。一旦包含文件被执行完,那么主JSP文件的过程将被恢复,继续执行下一行。但要注意在这个包含文件中不能使用、、、标记,因为这样将会影响在源JSP文件中同样的标记,有时会导致错误。
实例1:
在这里插入图片描述
date.jsp页面如下:
在这里插入图片描述
运行结果如下:
在这里插入图片描述

4.3 taglib指令

taglib指令告诉容器一个特定JSP需要哪个标记库。后面章节会详细讲解的。
其语法格式为:

  <%@ taglib prefix="view" uri="/WEB-INF/tags/view.tld">  

5.Jsp动作

5.1 <jsp:include>动作

jsp:include动作在主页面被请求时,将次级页面的输出包含进来。包含文件可以是HTML文件、纯文本文件、Jsp页面或Servlet。

5.1.1、jsp:include动作语法:

<jsp:include page=”relativeURL” [flush=”true|false”]>
page:指定所包含文件。推荐将被包含文件的页面放在WEB-INF目录中,这样可以防止客户偶然访问这些页面(这些页面一般都不是完整HTML文档)。
flush:指定在将页面包含进来之前是否应清空主页面的输出流(默认false)
实例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述

5.1.2、<%@ include %>指令与jsp:include动作区别:

  1. <%@ include %>指令是在主Jsp页面转换成Servlet时,将文件包含到文档中。而<jsp:include>动作在主Jsp页面被请求时,将次级页面的输出包含进来,因此所包含文件变化总会被检查到,更适合包含动态文件。
    2)使用include指令的页面要比使用jsp:include的页面难维护的多。因为相关规范要求服务器能够检测出主页面什么时候发生了更改,并不要求它们能检测出包含文件什么时候发生了改变(并且重新编译Servlet),因此,大多数服务器中,包含文件发生更改时,对于所有用到该文件的Jsp文件,我们都要更新它们的修改日期。
  2. include指令更为强大。include指令允许所包含文件含有影响主页面的Jsp代码,比如响应报头设置和字段的定义。
    例如:pfc.jsp包含下面代码:
    <%! int count=0;%>
    这种情况下,可以在主页面mainpfc.jsp中执行下面任务:
    <%@ include file=”pfc.jsp” %>
    <%= count++;%>
    这使用jsp:include 是不可能的,因为count变量未定义。
    <jsp:include page=“pfc.jsp”/>
    <%= count++%>

5.2 <jsp:param>动作

为其它标准动作指定参数。
< jsp:param>动作语法:

 <jsp:param name=”参数名” value=”值” />

实例:

<%@ page language="java" pageEncoding="GBK"%>
<html>
<body>
	<h3>
		文件包含之前主页面:
		<br>
		fgColor:<%
		out.print(request.getParameter("fgColor"));
	    %>
		&nbsp;&nbsp;&nbsp;bgColor:<%
			out.print(request.getParameter("bgColor"));
		%>
		<jsp:include page="/WEB-INF/pfc.jsp">
			<jsp:param name="fgColor" value="red" />
		</jsp:include>
		文件包含之后主页面:
		<br>
		fgColor:<%
			out.print(request.getParameter("fgColor"));
		%>
		&nbsp;&nbsp;&nbsp;bgColor:<%
			out.print(request.getParameter("bgColor"));
		%>
	</h3>
</body>
</html>

pfc.jsp代码:

<%@ page language="java" pageEncoding="GBK"%>
<html>
<body>
	<h3>
		次级页面:
		<br>
		fgColor:<% out.print(request.getParameter("fgColor"));%>
		&nbsp;&nbsp;&nbsp;bgColor:
		<%out.print(request.getParameter("bgColor")); %>
	</h3>
</body>
</html>

运行结果:
在这里插入图片描述

5.3 <jsp:forward>动作

jsp:forward动作语法:
<jsp:forward page=”relativeURL”>
执行jsp:forward动作,当前请求会转发给另一个页面(可以是Jsp、Servlet、HTML文件等),当前Jsp处理会终止。
实例例second_example8.jsp:

<%@ page language="java" pageEncoding="GBK"%>
<html>
<body>
	<%
		out.print("aaa");//看不到执行结果
		double i = Math.random();
		out.print(i);//看不到执行结果
	%>
	<jsp:forward page="data.jsp">
		<jsp:param name="data" value="<%=i%>" />
	</jsp:forward>
	<%
		out.print(i);//看不到执行结果
	%>
</body>
</html>

data.jsp:

<%@ page language="java" pageEncoding="GBK"%>
<html>
<body>
	<font size="6">
		<%
			String s = request.getParameter("data");
			out.print("传过来的值是:" + s);
		%>
	</font>
</body>
</html>

备注:<jsp:forward page=“data.jsp”>当前请求会转发给data.jsp页面。
运行结果:使用了该动作,second_example8.jsp打印处理终止。
在这里插入图片描述

5.4 <jsp:plugin>动作

jsp:plugin动作提供一种在Jsp文件中嵌入客户端运行的Java程序(如Applet、JavaBean)的方法。Jsp在处理这个动作的时候,将根据客户端浏览器的不同,执行后将分别输出OBJECT或EMBED这两个不同的HTML元素。

<jsp:plugin>动作语法:
<jsp:plugin    
type=”bean|applet”
code=”classFileName”   [codebase=”classFileDirectoryName”] [name=”instanceName”] [align=”left|right|top|bottom|middle” ]
[width=”displayPixels”]      [height=”displayPixels” ]     [hspace=”leftRightPixels”]   [vspace=”topBottomPixels”]    
[<jsp:params>
<jsp:param name=”parameterName” value=”parameterValue”/>
</jsp:params>]
[<jsp:fallback>message</jsp:fallback>]
</jsp:plugin>
1)执行插件类型,该属性没默认值,必须指定为bean或applet。
2)code=”classFileName”
    将被插件执行的Java类文件名称,文件必须以.class结尾,必须位于codebase属性指定的目录中。
3)codebase=”classFileDirectoryName”
   Java类文件所在目录。没有该属性,表明类文件和jsp文件在同一目录下。
4)name=”instanceName”
    指定Bean或Applet实例的名字,它将会在Jsp其它的地方调用。这使得被同一个Jsp调用的     Bean或Applet之间通信成为可能。
5)align=”left|right|top|bottom|middle”
    Bean或Applet对象位置。
6) width=”displayPixels”
   height=”displayPixels”
   Bean或Applet对象显示的宽度、高度,单位像素。
7) hspace=”leftRightPixels”
   vspace=”topBottomPixels”
   Bean或Applet对象显示时距屏幕左右、上下的距离,单位像素。
8) <jsp:fallback>
   当浏览器不能正常显示Applet或Bean时,显示一段替代文本给用户。

5.5 <jsp:useBean>动作

后面会详细介绍。

Javaweb JSP宣传系统是一种基于Java语言和JSP技术的网络宣传系统。JSP(Java Server Pages)是一种服务器端的动态网页开发技术,它结合了HTML标记语言和Java编程语言,可以方便地生成动态网页内容。 Javaweb JSP宣传系统具有以下几个特点: 首先,Javaweb JSP宣传系统可以实现动态的网页内容生成。通过使用JSP技术,可以在网页中嵌入Java代码,从而实现动态的内容展示。例如,可以根据用户的不同需求显示不同的广告内容,或者根据用户的行为进行个性化推荐。 其次,Javaweb JSP宣传系统具有良好的可扩展性和可维护性。使用Java语言开发的系统一般具有较好的可扩展性,可以方便地添加新的功能和模块。同时,JSP作为一种模板技术,可以将界面和逻辑分离,使得系统的维护更加方便。 再次,Javaweb JSP宣传系统支持与数据库的交互。通过JSP技术,可以方便地与数据库进行交互,实现数据的存取和更新。例如,可以将广告内容以及用户行为数据存储在数据库中,从而实现对广告展示效果的监测和分析。 最后,Javaweb JSP宣传系统具备良好的安全性。通过合理的系统设计和开发,可以防止常见的网络攻击,保护用户的隐私和系统的稳定性。例如,可以采用用户认证和授权机制,限制用户的访问权限,防止未授权的操作。 总之,Javaweb JSP宣传系统是一种基于Java和JSP技术的网络宣传系统,具有动态内容生成、可扩展性、与数据库交互和安全性等优点,适用于各种网站和应用程序的宣传推广需求。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

废人一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值