IDEA JSP实验作业-1

it2023-10-07  71

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("&nbsp"); } for( int k = 1; k <= i ; k++){ out.print('*'+"&nbsp"); } out.print("<br>"); } for( int i = 1; i <= 7; i++){ for( int j = 1;j <= i; j++){ out.print("&nbsp"); } for( int k = 1; k <= 8-i; k++){ out.print('*'+"&nbsp"); } 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> 请输入1100的整数: <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>

最新回复(0)