JSP实验作业-1
文章目录
JSP实验作业-1一、JSP基本结构二、JSP动作标记1.实验目的2.实验内容实验代码1_one.jsp2_two.jsp1_three.jsp1_error.jsp
三、附加题一、问题描述二、代码main.jsplader.jsp
一、JSP基本结构
编写一个简单的jsp页面,使其能显示一个循环打印的菱形,如图所示。
<%--
Created by IntelliJ IDEA
.
User
: ruochen
Date
: 2020/10/20
Time
: 21:49
To change
this template use File
| Settings
| File Templates
.
--%>
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html>
<head>
<title>jsp基本结构
</title
>
</head
>
<body>
<%
for( int i
= 1; i
<= 8; i
++){
for( int j
= 1; j
<= 8-i
; j
++){
out
.print(" ");
}
for( int k
= 1; k
<= i
; k
++){
out
.print('*'+" ");
}
out
.print("<br>");
}
for( int i
= 1; i
<= 7; i
++){
for( int j
= 1;j
<= i
; j
++){
out
.print(" ");
}
for( int k
= 1; k
<= 8-i
; k
++){
out
.print('*'+" ");
}
out
.print("<br>");
}
%>
</body
>
</html
>
简单的打印一个菱形
二、JSP动作标记
1.实验目的
本实验的目的是掌握怎样在JSP页面中使用include标记动态加载文件;使用forward实现页面的转向。
2.实验内容
编写四个JSP 页面:one.jsp 、two.jsp和three.jsp和error.jsp。one.jsp 、two.jsp和three.jsp页面都含有一个一个导航条,以便让用户方便地单击超链接访问这三个页面,要求这三个页面通过使用include动作标记动态加载导航条文件:head.txt。 导航条文件head.txt的内容如下所示:
head
.txt
<%@ page contentType
="text/html;charset=GB2312" %>
<table cellSpacing
="1" cellPadding
="1" width
="60%" align
="center" border
="0" >
<tr valign
="bottom">
<td><A href
="one.jsp"><font size
=3>one
.jsp页面
</font
></A
></td
>
<td><A href
="two.jsp"><font size
=3>two
.jsp页面
</font
></A
></td
>
<td><A href
="three.jsp"><font size
=3>three
.jsp页面
</font
></A
></td
>
</tr
>
</Font
>
</table
>
1.one.jsp的具体要求 要求one.jsp页面有一个表单,用户使用该表单可以输入一个1至100之间的整数,并提交给被页面;如果输入的整数在50至100之间(不包括50)就转向three.jsp,如果在1至50之间就转向two.jsp;如果输入不符合要求就转向error.jsp。要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的two.jsp或three.jsp页面,将有关输入错误传递到转向的error.jsp页面 2.two.jsp、three.jsp和error.jsp的具体要求 要求two.jsp和three.jsp能输出one.jsp传递过来的值,并显示一幅图像,该图像的宽和高刚好是one.jsp页面传递过来的值。error页面能显示有关错误信息,和一幅图像。图像自选。
实验代码
1_one.jsp
<%--
Created by IntelliJ IDEA
.
User
: ruochen
Date
: 2020/10/20
Time
: 22:04
To change
this template use File
| Settings
| File Templates
.
--%>
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html>
<head>
<title>1</title
>
<jsp
:include page
="head.txt"/>
</head
>
<body>
<FORM action
="" method
=post name
=form
>
请输入
1到
100的整数
: <INPUT type
="text" name
="num">
<BR><INPUT TYPE
="submit" value
="提交" name
=submit
>
</FORM
>
<%
String number
=request
.getParameter("num");
if(number
==null
)
number
="0";
try {
int n
=Integer
.parseInt(number
);
if(n
>=1&&n
<=50){
%>
<jsp
:forward page
="1_two.jsp">
<jsp
:param name
="n1" value
="<%=n%>"/>
</jsp
:forward
>
<%
}
else if(n
>50&&n
<=100){
%>
<jsp
:forward page
="1_three.jsp">
<jsp
:param name
="n2" value
="<%=n%>"/>
</jsp
:forward
>
<% }
else if(n
>100){
%>
<jsp
:forward page
="1_error.jsp">
<jsp
:param name
="mess" value
="<%=n%>"/>
</jsp
:forward
>
<% }
}
catch (Exception e
)
{
%>
<jsp
:forward page
="1_error.jsp">
<jsp
:param name
="mess" value
="<%=e.toString()%>"/>
</jsp
:forward
>
<%
}
%>
</body
>
</html
>
2_two.jsp
<%--
Created by IntelliJ IDEA
.
User
: ruochen
Date
: 2020/10/20
Time
: 22:05
To change
this template use File
| Settings
| File Templates
.
--%>
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html>
<head>
<title>2</title
>
</head
>
<body>
<%
String s
=request
.getParameter("num");
out
.print("<BR>传过来的值为"+s
);
%>
<BR>
<img src
="./sg.jpg" width
="<%=s%>" height
="<%=s%>">
<jsp
:include page
="head.txt"/>
</body
>
</html
>
1_three.jsp
<%--
Created by IntelliJ IDEA
.
User
: ruochen
Date
: 2020/10/20
Time
: 22:05
To change
this template use File
| Settings
| File Templates
.
--%>
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html>
<head>
<title>3</title
>
</head
>
<body>
<%
String s
=request
.getParameter("num");
out
.print("<BR>传过来的值为"+s
);
%>
<BR><img src
="./qg.jpg" width
="<%=s%>" height
="<%=s%>">
<jsp
:include page
="head.txt"/>
</body
>
</html
>
1_error.jsp
<%--
Created by IntelliJ IDEA
.
User
: ruochen
Date
: 2020/10/20
Time
: 22:05
To change
this template use File
| Settings
| File Templates
.
--%>
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html>
<head>
<title>Title
</title
>
</head
>
<body>
<%
String s
=request
.getParameter("num");
out
.print("<BR>错误的值"+s
);
%>
<BR>
<img src
="./sg.jpg" >
<jsp
:include page
="head.txt"/>
</body
>
</html
>
三、附加题
一、问题描述
编写两个JSP页面:main.jsp和lader.jsp,将两个JSP页面保存在同一个Web服务目录中。main.jsp使用include动作标记动态加载lader.jsp页面。lader.jsp页面可以计算显示梯形的面积。当lader.jsp被加载时获取main.jsp页面include动作标记的param子标记提供的梯形的上底、下底和高的值。
二、代码
main.jsp
<%--
Created by IntelliJ IDEA
.
User
: ruochen
Date
: 2020/10/20
Time
: 23:31
To change
this template use File
| Settings
| File Templates
.
--%>
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html>
<head>
<title>Title
</title
>
</head
>
<body>
<FORM action
="" method
=post name
=form
>
请输入梯形上底
: <INPUT type
="text" name
="shang">
请输入梯形下底
: <INPUT type
="text" name
="xia">
请输入梯形高
: <INPUT type
="text" name
="gao">
<BR><INPUT TYPE
="submit" value
="提交" name
=submit
>
<%
String s
=request
.getParameter("shang");
String x
=request
.getParameter("xia");
String g
=request
.getParameter("gao");
%>
<jsp
:include page
="lader.jsp">
<jsp
:param name
="shang1" value
="<%=s%>"/>
<jsp
:param name
="xia1" value
="<%=s%>"/>
<jsp
:param name
="gao1" value
="<%=s%>"/>
</jsp
:include
>
</FORM
>
</body
>
</html
>
lader.jsp
<%--
Created by IntelliJ IDEA
.
User
: ruochen
Date
: 2020/10/20
Time
: 23:31
To change
this template use File
| Settings
| File Templates
.
--%>
<%@ page contentType
="text/html;charset=UTF-8" language
="java" %>
<html>
<head>
<title>Title
</title
>
</head
>
<body>
<%! int t
=0; %>
<% String a
= request
.getParameter("shang1"),
b
= request
.getParameter("xia1"),
h
= request
.getParameter("gao1");t
++;
try
{
double sd
=Double
.parseDouble(a
);
double xd
=Double
.parseDouble(b
);
double hi
=Double
.parseDouble(h
);
double mianJi
=(sd
+xd
)*hi
/2;
%>
<P>该梯形的面积是:
<%=mianJi
%>
<%
}
catch(NumberFormatException e
)
{ if(t
!=0)
out
.print("<BR>"+"数据传输错误");
}
%>
</body
>
</html
>