jsp实验1.基本使用

环境准备:自己安装tomcat,要在环境变量path中设置好java路径,并把要用到的jar包(例如:mysql-connector-java-5.1.39-bin.jar)拷贝到tomcat的虚拟目录的WEB-INF\lib目录中。
采用Eclipse运行JSP程序。
【预备知识】
(1)只能在声明“<%!   %>”中定义Java的class和function,声明中out.print()无效。
(2)在脚本“<% %>”中可以编写Java程序,但是不能包含Java的class和function,可以用out.print或者<%=exp%>输出内容到网页。
(3)所需import的类必须写在<%@ page import="java.util.*,java.io.*" ... %>中,用逗号隔开。其中,contentType="text/html;charset=utf-8"指明本jsp程序产生html文件并使用"utf-8"字符集进行响应。
1、(rnd.jsp) 用网页显示40个随机数(0~999)。
提示: 随机数产生方法(java程序)   
 import  java.util.Random;
 Random rnd= new Random(50);  // 局部变量rnd初始化50为种子
int n= rnd.nextInt(1000);    // 返回0~999之间的随机数
完整jsp代码如下:
<%@ page language="java" import="java.util.*,java.io.*,java.util.Random"
contentType="text/html;charset=utf-8"%>
<!DOCTYPE  html>
<html  lang="zh-cn">
<head>
<meta charset="utf-8">
<title>This is my title</title>
</head>
<body>
  <h1>This is header</h1>
  <p>This is the first paragraph</p>
  <p>This is the second paragraph</p>
  <% 
	Random rnd= new Random(50);
	for(int i = 0 ; i < 40 ; i++)
	{
		
		int n= rnd.nextInt(1000);
		out.print(n);
	}
	out.print("excuse me !\n"); 
  %>
</body>
</html>

运行结果如下:

This is header

This is the first paragraph

This is the second paragraph

117 388 193 512 751 561 636 58 116 8 200 112 100 155 628 192 552 507 215 892 755 923 591 21 662 284 738 905 16 786 470 777 186 994 156 274 672 806 694 78 excuse me ! 

2(fib.jsp) 用网页显示前40个斐波那契数,要求使用表格显示它们

完整代码如下:

<%@ page language="java" import="java.util.*,java.io.*"
contentType="text/html;charset=utf-8"%>
<!DOCTYPE  html>
<html  lang="zh-cn">
<style>
table{border-collapse: collapse;
	         border: none;
			 width: 500px;}
	   td,th{border: solid grey 1px; 
			 padding: 5px 5px 5px 5px}
</style>
<head>
<meta charset="utf-8">
<title>斐波那契数列</title>
</head>
<body>
  <h1>斐波那契数列</h1>
  <table>
  <%
    int f[] = new int[50];
	f[0] = 0;
	f[1] = 1;
	int i;
	for(i = 2 ; i < 40 ; i++)
	{
		f[i] = f[i-1]+f[i-2];
	}
    int row, line;
	%>
	<%for(row = 0; row < 4; row++){%>
		<tr>
		<%for(line = 0 ; line < 10; line++){%>
			<td>
			<%
			  out.print(f[row*10+line]);
			%>
			</td>
		<%}%>
		</tr>
	<%}%>
  </table>
</body>
</html>
运行结果如下:


3browseStu.jsp)把数据库teaching的表stu中所有学生的id、学号和姓名通过网页显示出来。

完整代码如下:

<%@ page language="java" import="java.util.*,java.sql.*" 
         contentType="text/html; charset=utf-8"
%><%
	request.setCharacterEncoding("utf-8");
	String msg ="";
	String connectString = "jdbc:mysql://172.18.187.230:3306/teaching12"
					+ "?autoReconnect=true&useUnicode=true"
					+ "&characterEncoding=UTF-8"; 
        StringBuilder table=new StringBuilder("");
	try{
	  Class.forName("com.mysql.jdbc.Driver");
	  Connection con=DriverManager.getConnection(connectString, 
	                 "user", "123");
	  Statement stmt=con.createStatement();
	  ResultSet rs=stmt.executeQuery("select * from stu");
	  table.append("<table><tr><th>id</th><th>学号</th><th>姓名</th><th>操作</th>");
	  while(rs.next()) {
             table.append(String.format(
                 "<tr><td>%s</td><td>%s</td><td>%s</td><td>%s %s</td></tr>",
                 rs.getString("id"),rs.getString("num"),rs.getString("name"),
                 "<a href='updateStu.jsp?pid="+rs.getString("id")+"'>修改</a>",
                 "<a href='deleteStu.jsp?pid="+rs.getString("id")+"'>删除</a>"
                 )
              );
	  }
	  table.append("</table>");
	  rs.close();
	  stmt.close();
	  con.close();
	}
	catch (Exception e){
	  msg = e.getMessage();
	}
%><!DOCTYPE HTML>
<html>
   <style>
       table{border-collapse: collapse;
	         border: none;
			 width: 500px;}
	   td,th{border: solid grey 1px; 
			 padding: 5px 5px 5px 5px}
	   .container{ margin:0 auto; 
	         width:500px; 
			 text-align:center; }</style>
<head>
<title>浏览学生名单</title>
</head>
<body>
  <div class="container">
	  <h1>浏览学生名单</h1>  
	  <%=table%><br><br>  
  </div>
</body>
</html>

运行结果如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值