JSP實驗二

實驗二  JSP語法
一、	實驗目的
1.	掌握JSP局部變量和成員變量的使用
2.	掌握JSP程序片和表達式的使用
3.	掌握JSP指令標記和動作標記的使用
二、	實驗重點和難點
1.	實驗重點:成員變量、指令標記、動作標記
2.	實驗難點:指令標記、動作標記
三、	實驗內容
1.	程序片應用實例
2.	成員變量應用實例
3.	include指令標記應用實例
4.	動作標記應用實例
四、	實驗方案
1.	編寫1JSP頁面,在JSP頁面中使用Java程序片輸出26個小寫的英文字母表。
 

參考代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>practiceOne</title>
</head>
<body>
<%
for(char x='a';x<='z';x++){
	out.println(" "+x);
}
%>
</body>
</html>



2.	在瀏覽器中輸出大小爲15*10表格,頁面效果如圖所示。
 
參考代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>practiceTwo</title>
</head>
<body>
<% 
	out.print("<table border=1>");
	for(int i=1;i<=10;i++){
		out.print("<tr>");
		for(int j=1;j<=15;j++){
			out.print("<td>");
			out.print(i*j);
			out.print("</td>");
		}
		out.print("</tr>");
	}
	out.print("</table>");
%>
</body>
</html>
3.	利用成員變量被所有客戶共享這一性質,實現一個簡單的計數器,頁面效果如圖所示。
運行效果如圖:
 
參考代碼如下:
<%@ 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>
歡迎訪問本網站!<br>
<%! int i=0;%>
<%
	i++; 
	out.print("您是第"+i+"個訪問本站的客戶。");
%>
</body>
</html>


4.	編寫3JSP頁面index.jsp、main.jsp和head.jsp,在index.jsp和main.jsp頁面中分別使用include指令靜態嵌入head.jsp(導航欄)。導航欄head.jsp的運行效果如圖所示。
 
 
 


參考代碼如下:
(1)	head.jsp
<%@ 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>
	<div>
		<ul>
			<li style="float: left;width:50px"><a>首頁</a></li>
			<li style="float: left;width:50px"><a>體育</a></li>
			<li style="float: left;width:50px"><a>熱點</a></li>
			<li style="float: left;width:50px"><a>股市</a></li>
			<li style="float: left;width:50px"><a>經濟</a></li>
		</ul>
	</div>
</body>
</html>

(2)	index.jsp

<%@ 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>
	<%@include file="head.jsp" %><br>
	<p align="left">網頁首頁面</p>
</body>
</html>


(3)	main.jsp
<%@ 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>
	<%@include file="head.jsp" %><br>
	<p align="left">網頁主頁面</p>
</body>
</html>



5.	編寫3JSP頁面:input.jsp、first.jsp和second.jsp,將3JSP文件保存在同一個Web服務目錄中,input.jsp使用include動作標記加載first.jsp和second.jsp頁面。first.jsp頁面可以畫出一個表格,second.jsp頁面可以計算出兩個正整數的最大公約數。當first.jsp被加載時獲取input.jsp頁面中include動作標記的param子標記提供的表格的行數和列數,當second.jsp被加載時獲取input.jsp頁面中include動作標記的param子標記提供的兩個正整數的值。
 

參考代碼如下:
(1)	input.jsp

<%@ 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>
使用include動作標記加載first.jsp頁面,畫出一個表格。<br>
<jsp:include page="first.jsp">
	<jsp:param value="10" name="row"/>
	<jsp:param value="20" name="col"/>
</jsp:include>
<br>
使用include動作標記加載second.jsp頁面,求兩個最大正整數的公約數。<br>
<jsp:include page="second.jsp">
	<jsp:param value="64" name="firstNumber"/>
	<jsp:param value="48" name="secondNumber"/>
</jsp:include>
</body>
</html>


(2)	first.jsp

<%@ 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>
<%
	int row=Integer.parseInt(request.getParameter("row"));
	int col=Integer.parseInt(request.getParameter("col"));
	out.print("<table border=1>");
	for(int i=1;i<=row;i++){
		out.print("<tr>");
		for(int j=1;j<=col;j++){
			out.print("<td>");
			out.print(i*j);
			out.print("</td>");
		}
		out.print("</tr>");
	}
	out.print("</table>");
%>
</body>
</html>

(3)	second.jsp

<%@ 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>
<%
	int firstNumber=Integer.parseInt(request.getParameter("firstNumber"));
	int secondNumber=Integer.parseInt(request.getParameter("secondNumber"));
	out.print("<br>"+firstNumber+"和"+secondNumber+"的最大公約數是:");
	if(firstNumber<secondNumber){
		int a=firstNumber;
		firstNumber=secondNumber;
		secondNumber=a;
	}
	while(firstNumber%secondNumber!=0){
		int temp=firstNumber%secondNumber;
		firstNumber=secondNumber;
		secondNumber=temp;
	}
	out.print(secondNumber);
%>
</body>
</html>

6.	編寫3JSP頁面:login.jsp、validate.jsp和success.jsp,login.jsp輸入用戶名與密碼信息,提交給validate.jsp進行用戶驗證,如果驗證爲合法用戶(用戶名:tom,密碼:jenny)則轉到(forward動作標記)success.jsp頁面,否則轉到login.jsp頁面重新登錄。
(1)	login.jsp

<%@ 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>
	<form action="validate.jsp">
		用戶名:<input type="text" name="name"><br>
		密碼:<input type="password" name="password"><br>
		<input type="submit" value="提交">
	</form>
</body>
</html>
(2)	validate.jsp

<%@ 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>
	<%
		String name=request.getParameter("name");
		String password=request.getParameter("password");
		if("tom".equals(name)&&"jenny".equals(password)){
	%>
			<jsp:forward page="success.jsp"/>
	<%
		}else{
	%>		
		}<jsp:forward page="login.jsp"/>
	<%
		}
	%>
</body>
</html>

(3)	success.jsp

<%@ 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>
	登錄成功!
</body>
</html>

五、課外實驗
1.	在頁面上由小到大顯示字符串“WELCOME!”。
 

<%@ 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>
	<%
	String str="WELCOME!";
	for(int i=0;i<str.length();i++){
	%>
	<font size=<%=i %>>
	<%
	out.print(str.charAt(i));
	%>
	</font>
	<%
	}
	%>
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章