、实验目的与要求

1、掌握常用JSP动作标记的使用。

二、实验内容

1、include动作标记的使用

编写一个名为shiyan4_1.jsp的JSP页面,页面内容自定,但要求使用include动作标记将在实验三中编写的includeCopyRight.jsp文件包含进该页面。

请写出相应代码:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>实验4-1</title>
</head>
<body> <% out.print("java代码部分"); %>
<jsp:include page="../shiyan_3/includeCopyRight.jsp"/>
</body>
</html>

编写三个JSP页面:main.jsp、circle.jsp和ladder.jsp,将三个JSP页面保存在同一个WEB服务目录中。main.jsp使用include动作标记加载cricle.jsp和ladder.jsp页面。

circle.jsp页面可以计算并显示圆的面积,ladder.jsp页面可以计算并显示梯形的面积。当cricle.jsp和ladder.jsp被加载时获取main.jsp页面include动作标记的param子标记提供的圆的半径以及梯形的上底、下底和高的值。

请写出相应代码:

main.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>main</title>
</head>
<body>
<%
double r = 2.00;
double up = 3.00, down = 6.00, hi = 4.00;
%>
<jsp:include page="circle.jsp">
<jsp:param name="banjing" value="<%=r%>"/>
</jsp:include>
<br/>
<jsp:include page="ladder.jsp">
<jsp:param name="sideup" value="<%=up%>"/>
<jsp:param name="sidedown" value="<%=down%>"/>
<jsp:param name="sidehi" value="<%=hi%>"/>
</jsp:include> </body>
</html>

circle.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>circle</title>
</head>
<body>
<%!
public String getCircleArea(double r){
if(r>0){
double cArea = r*r*3.1415926;
return ""+cArea;
}
else{
return ("输入错误");
} }
%>
<%
String banjing = request.getParameter("banjing");
double r = Double.parseDouble(banjing);
%>
圆的边长为:<%=r%>,面积为:<%=getCircleArea(r)%> </body>
</html>

ladder.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>ladder</title>
</head>
<body>
<%!
public String getLadderArea(double u,double d,double h){
if(u>0 && d>0 && h>0){
double lArea = 0.5*(u+d)*h;
return ""+lArea;
}
else{
return ("输入错误");
} }
%>
<%
String sideup = request.getParameter("sideup");
double up = Double.parseDouble(sideup);
String sidedown = request.getParameter("sidedown");
double down = Double.parseDouble(sidedown);
String sidehi = request.getParameter("sidehi");
double hi = Double.parseDouble(sidehi);
%>
梯形的上下低为:<%=up%>,<%=down%>,高为:<%=hi%>,面积为:<%=getLadderArea(up,down,hi)%> </body>
</html>

2、forword动作标记的使用

编写shiyan4_2.jsp、page1.jsp、page2.jsp和page3.jsp四个JSP文件,当请求shiyan4_2.jsp页面后,该页面会产生一个0~3(不包含3)的随机整数,若这个随机数是0,则将请求转发给page1.jsp页面;若这个随机数是1,则将请求转发给page2.jsp页面;若这个随机数是2,则将请求转发给page3.jsp页面。page1.jsp、page2.jsp和page3.jsp三个页面只显示“这是第n个随机页”(n=1或2或3)一句话。请写出相应代码:

shiyan4_2.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>实验4</title>
</head>
<body>
<%
int n;
int number = (int) (Math.random() * 3);
if (number == 0) {
n = number + 1;
%>
<jsp:forward page="page1.jsp">
<jsp:param name="page1" value="<%=n%>"/>
</jsp:forward>
<%
}
if (number == 1) {
n = number + 1;
%>
<jsp:forward page="page2.jsp">
<jsp:param name="page2" value="<%=n%>"/>
</jsp:forward>
<%
}
if (number == 2) {
n = number + 1;
%>
<jsp:forward page="page3.jsp">
<jsp:param name="page3" value="<%=n%>"/>
</jsp:forward>
<%
}
%> </body>
</html>

page1.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>page1</title>
</head>
<body> 这是第<%=request.getParameter("page1")%>个页面的随机页 </body>
</html>

page2.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>page2</title>
</head>
<body> 这是第<%=request.getParameter("page2")%>个页面的随机页 </body>
</html>

page3.jsp:

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>page3</title>
</head>
<body> 这是第<%=request.getParameter("page3")%>个页面的随机页 </body>
</html>

大学jsp实验4include,forword的更多相关文章

  1. 大学jsp实验七--JavaBean在JSP中的应用

    值bean的应用 (1)若有如下图所示的两个JSP页面,在第一个的页面的表单中填写相应内容,提交后再显示用户的提交信息.使用JavaBean的方式实现上述效果,请写出相应的代码. bean文件:Tes ...

  2. 大学jsp实验3include指令的使用

    1.include指令的使用 (1)编写一个名为includeCopyRight.jsp的页面,页面的浏览效果如下: 要求“2016”这个值可以实现动态更新.请写出页面代码: <%@ page ...

  3. 大学jsp实验5request,response

    1.request对象的使用 (1)编写一个包含有表单的JSP页面form.jsp,其中包含可以输入姓名和出生地的文本框,提交表单后在另一个页面中显示用户提交的姓名和出生地.请写出相应代码: form ...

  4. 大学jsp实验6session

    1.session对象的使用 (1)设计一个简单的在线问卷调查程序,共有3个页面,分别是one.jsp.two.jsp.three.jsp. 其中,shiyan6_1_one.jsp页面效果如下图所示 ...

  5. jsp实验一

    1.熟悉MyEclipse开发环境,熟悉菜单,修改代码的字体和显示行号. 2.动手做第一个输出hello World的实例. 3.定义一个jsp页面,在其中定义个变量,该变量随机产生,数据范围是[0- ...

  6. jsp实验二

    1.编写一个简单的留言薄,写入留言提交后,显示留言内容 2.编写一个实现页面计数的计数器.思考,如果要求当刷新页面时,不增加计数. 3.编写一个简易购物车,实现向购物车添加商品.思考,如果增加清空购物 ...

  7. ssh三大框架集成后,jsp中采用forword标签提交时会报错的解决方案

    最近这两天心烦,所以没事就做做三大框架,对于今天遇到了一个烦心的事!或许有很多开发人员对于web.xml拦截器的认识不清,出现了这样的情况 <filter> <filter-name ...

  8. JSP实验报告

  9. 【大学物理实验】01 单摆测重力加速度 的 g 计算代码

    单摆测重力加速度 传统摆 (代码没保存,就截了个图) 研究单摆周期与摆长之间的关系 (依旧是g的计算) 我还不太会数据拟合

随机推荐

  1. 阻止form表单中的input按下回车时提交表单

    给form加属性:onsubmit="return false;"

  2. sqlserver2008 传入的表格格式数据流(tds)协议流不正确。

    起因是在sql 2008 里使用 sql prompt 报了一个内部连接致命错误,原本应该想到是数据库连接问题的,奇怪的是能连接上数据库也能查询表仅仅是用不了工具没有智能提示. 几经查询无果,度娘上之 ...

  3. debian下 Hadoop 1.0.4 集群配置及运行WordCount

    说明:我用的是压缩包安装,不是安装包 官网安装说明:http://hadoop.apache.org/docs/r1.1.2/cluster_setup.html,繁冗,看的眼花...大部分人应该都不 ...

  4. C#设计模式之7:适配器模式

    适配器模式 使用适配器模式的一个重要的点是首先要识别出什么代码(接口)是已经存在的,什么代码(接口)是新的,需要去适配的.适配器的作用是让旧的(现有的)接口能够匹配新的系统(要去适配的). 比如有下面 ...

  5. hangfire使用笔记

    1.导入nuget包 2.配置 简单配置后就可以写自己的Job了 注意:Hangfire.RecurringJobExtensions这个扩展支持两种job添加方法:json配置文件和特性.但由于时区 ...

  6. java设计模式:概述与GoF的23种设计模式

    软件设计模式的产生背景 设计模式这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中. 1977 年,美国著名建筑大师.加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Chri ...

  7. laravel门面和服务提供者使用

      关于laravel门面和服务提供者使用的一点见解,门面之词,不足之处,还请多多指教. 在laravel中,我们可能需要用到自己添加的类时,可以建立一个文件夹专门存放类文件,也可以使用laravel ...

  8. PHP Lumen Call to a member function connection() on null 报错

    (1/1) Error Call to a member function connection() on nullin Model.php line 1201at Model::resolveCon ...

  9. Appscanner实验还原code2

    import _pickle as pickle from sklearn import svm, ensemble import random from sklearn.metrics import ...

  10. QTP自动化测试-点滴-步骤

    1 添加 test 2 设置 整个测试项目的 setting -数据表位置 3 添加 引用 方法文件 4 添加 action 5 添加 action 对应的 repository 控件库 6 录制.整 ...