JavaWeb快速入门--JSP(1)

上一篇:JavaWeb学习总结10–Cookie与Session
下一篇:JavaWeb学习总结12–JSP(2)

JSP(Java Server Pages) java服务器端页面,其根本是一个Servlet设计,相对与html页面来说,其具有一定的特殊性,在其中既可以指定html标签,同时还可以插入Java程序段和JSP标记,我们甚至可以通过将将写好的html页面后缀名改为*.jsp来生成JSP文件。值得注意的是,JSP是在服务器运行的,其本身是一种动态网页技术,我们不能项html文件一样双击打开,就可以在浏览器上运行,也因此JSP将页面逻辑与网页设计的显示分离,简化了我们的Web应用程序开发。

JSP语法学习

JSP页面可以包含:指令标识符、HTML代码、JavaScript代码、嵌入的Java代码 、注释语句以及JSP的动作标识等内容,我们可以直接才传统的HTML页面中加入Java程序段和JSP标签构成一个JSP页面。

声明标识:<%! 代码 %>
我们知道在JSP页面中可以加入一些Java程序段,可以声明变量和表达式,这时我们会用到<%! 成员变量或方法 %>,这时就相当于在Java类中声明变量或方法,不过这次声明是页面级的,只在当前页面有效。

<%!
	int i=0;
	java.util.Date date=new java.util.Date();
	
	int add(int a,int b){
		return a+b;
	}
%>

Java程序段:<% 代码 %>
在JSP页面中,如果我们想插入Java程序段,我们可以使用<% Java程序段 %>来实现。当JSP页面执行时,会转换为一个Java类(Servlet),这时Java程序段就会被放置到Servlet中的service方法中,在程序段中,我们可以声明变量以及其他操作语句。值得注意的是,这些声明的变量是局部变量,其在JSP页面后继的所有程序段级表达式中均有效。

<%
	for(int i=0;i<10;i++){
		out.print("打印了"+i+"次<br>");
	}
%>

页面表达式:<%= 代码 %>
通过<%= 代码 %>我们可以将JSP页面中的Java表达式的运算结果以字符串的形式展示(不需要加;

注释语句:<%-- 注释内容--%>
在JSP页面中,html注释语句只能注释html代码片段,而JSP注释语句可以对所有代码进行注释。同时用户在客户端式无法看到JSP注释的。

JSP中的指令

page指令:<%@page 内容 %>
page指令用来设置JSP页面的属性,在JSP页面中page指令没有位置于出现次数的限制,一般将其放在页面的顶部,其语法格式如下:

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

page中设置了很多页面属性,但是除了import属性外,其他属性只能出现一次。

属性名称说明
language声明JSP页面脚本语言的名称,目前只能为Java
pageEncoding设定JSP页面的字符编码,我们一般使用UTF-8
contentType声明JSP页面的MIME类型以及字符编码集
import导入JavaAPI
errorPage当前页面出现异常时,重定向到哪个页面
iserrorPage指定该JSP页面是否为错误处理页面,默认false
buffer指定输出流缓存大小,默认8kb
autoFlush输出流区域满时是否自动清除,默认false
isELIgnored是否忽略el表达式,默认值为false

include指令:<%@include 内容 %>

include指令只有一个属性(file),file属性值是一个包含文件的URL,include指令在JSP页面编译时执行操作,用来生成一个Java(servlet)文件,然后再生成一个class类,进行插入文件。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>login</title>
	</head>
	<%@ include file="header.jsp" %>

	<body>
	<!--内容-->
	</body>
</html>

通过使用include指令,我们可以把页面分成不同的部分,分别进行处理,可以把一些公共部分提取出来,简化我们的开发。

taglib指令: <%@taglib prefix=" " uri=" "%>
taglib指令有两个属性:uri: 指定标签库的位置,prefix:自定义标签库的前缀,可以引入标签库,使我们的Web页面更加个性化。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="/struts-tags"%> 前缀的用法 <s:text>

JSP动作标签

JSP动作标签有20种,这些动作标签是JSP内置的,我们不需要导入标签库,就可以直接使用。

<jsp:include>动作标签
将一个指定的页面包含到使用次动作标签的JSP页面中,它包含两个属性:page用来指定包含页面的相对路径,或表示相对路径的表达式,flush表示是否清空缓存,其使用方式如下:

方式一:
<jsp:include page="文件的URL或<% =表达式 >" flush="true"/>

方式二:
<jsp:include page="文件的URL或<% =表达式 >" flush="true">
	嵌套的子标记
</jsp:include>

<jsp:param>动作标签
这个标签的主要作用是用来传递参数的,其属性包括:name、value,name表示参数的名称,value表示传递参数的值,这个标签不能单独使用,一般嵌套在其他标签中。

index.jsp
<jsp: include page="header.jsp">
	<jsp: param name="p1" value="hello"/>
</jsp:include>

header.jsp
<%
	String p1=request.getParameter("p1");
	out.print(p1);
%> 

<jsp:forward>动作标签
该标签可以用来对页面进行重定向,跳转到标签唯一的属性:page所指定的页面,其语法格式有如下两种:

方式一:
<jsp: forward page="文件的URL或<% =表达式 >">

方式二:
<jsp:forward page="文件的URL或<% =表达式 >">
	嵌套子标记
<jsp:forward/>

<jsp:useBean><jsp:setProperty><jsp:getProperty>动作标签
上面三个标签都是于JavaBean相关的标签,JavaBean是一个可以重复使用的组件,是一个通过反射操作的导入的公共类,是一个通过封装属性和方法可以实现某一个业务的对象。通过使用JavaBean可以实现代码复用,将业务逻辑层于表现层分离开。
<jsp:useBean>动作标签的作用是在指定范围内使用JavaBean,其属性有id、class、scope,id表示引用的JavaBean在作用域内的名称,class表示所引用的JavaBean的完整路径,scope指定JavaBean的作用域以及id变量名的有效范围,其取值可以为page、request、session、application默认值为page。其使用方法如下:

方法一:
<jsp:useBean id="标识符" class="Java类名" scope="作用范围"/>

方法二: 
<jsp:useBean id="标识符" class="Java类名" scope="作用范围">
	嵌套子标记
</jsp:useBean>

<jsp:setProperty>动作标签,可以将已经实例化的Javabean对象的属性赋值,属性值包括:name、property、value,name一般使用<jsp:useBean>动作标签中引用的JavaBean的id,property表示JavaBean中的属性,当值为*时,表示JSP页面内输入的所有值,value用来给JavaBean中某一个具体的属性赋值。其语法格式为:

< jsp:setProperty name="JavaBean的id名" property="JavaBean属性名" value="JavaBean属性值"/>

<jsp:getProperty>动作标签,可以获取已经实例化的Javabean对象的属性值,属性包括name、property,语法格式为:

< jsp:getProperty name="JavaBean的id名" property="JavaBean属性名"/>

上一篇:JavaWeb学习总结10–Cookie与Session
下一篇:JavaWeb学习总结12–JSP(2)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

龙源lll

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

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

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

打赏作者

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

抵扣说明:

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

余额充值