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>

 

是一个最简单,也是学习jsp必须会的一个入门实验----通过jdbc连接数据库。 采用jsp+access数据库实现,同时使用javabean通过jdbc连接数据库。运行结果将显示从数据库查询出的图书。里面包含了javabean的源代码及解释。 提示:如果是要下jsp图书管理系统的朋友,请下载我上的另一个资源----jsp+access图书管理系统。就不要再下本资源了,本资源只是做了一个图书的表,用以连接数据库查询图书,并没有对图书的增、删、改功能。 javabean源代码: package sjob; import java.sql.*; public class connBook { private Statement state=null; private Connection conn = null; ResultSet results=null; public connBook() { } public void openConn()throws Exception //连接数据库 { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url="jdbc:odbc:book"; conn=DriverManager.getConnection(url,"",""); //数据库、用户名、密码 ,创建连接对象 } catch(SQLException e) //异常处理 { System.err.println("Data.executeQuery: " +e.getMessage()); } } public ResultSet queryResult(String query) { results = null; try { state=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //创建访问数据库的对象 results=state.executeQuery(query); //查询并返回结果 } catch(SQLException e) { System.err.println("Data.executeQuery: " + e.getMessage()); } return results; } public void closeState() { try { state.close(); //关闭访问数据库的对象 } catch(SQLException e) { System.err.println("Date.executeQuery: " + e.getMessage()); } } public void closeConn() { try { conn.close(); //断开连接 } catch(SQLException e) { System.err.println("Data.executeQuery: " + e.getMessage()); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

向上Claire

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

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

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

打赏作者

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

抵扣说明:

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

余额充值