【web应用系统实践】第三章作业

仅供参考

  1. 应用 Date 类读取系统的当前时间,根据不同的时间段,在浏览器中输出不同的问候语,例如 0:00-12:00 输出“早上好”,同时把系统的年、月、日、小时、分、秒和星期输出到用户的浏览器。
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Demo3-1</title>
</head>
<body>
<%!
    Calendar current = Calendar.getInstance();%>
<p>当前时间是:</p><%=current%><br>
<hr />
<%
    int hour = current.get(Calendar.HOUR_OF_DAY);
    if (hour >= 0 && hour <= 12) {
        out.println("早上好!");
    } else  if (hour <= 14) {
            out.println("中午好!");
        } else if (hour<=18){
            out.println("下午好");
        }else {
        out.println("晚上好");
    }
%>
</body>
</html>
  1. 设计一个 JSP 文件,实现计算一个数的平方,然后再设计一个 JSP 文件,在客户端显示该数的平方值。要求:应用<jsp: include>动作加载上述 JSP 文件并在客户端的“查看源文件”中观察源文件。思考该题目是否可以采用 include 指令实现加载?为什么?

(两个页面)

index.jsp

<%--index.jsp 页面--%>
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
</head>
<body>
<jsp:include page="count.jsp">
    <jsp:param value="123" name="number"/>
</jsp:include>
<hr>
<%@ include file="count.jsp" %>
</body>
</html>

count.jsp

<%--count.jsp 页面--%>
<%@page language="java" pageEncoding="utf-8"%>
<html>
<head>
</head>
<body>
<%
    Integer num = Integer.parseInt(request.getParameter("number"));
    out.print(num +"平方数为:"+ num * num);
%>
</body>
</html>

  不能采用 include 指令实现加载,因为 include 指令无法传参(仅个人观点)。

  1. 设计表单,制作读者选购图书的界面,当读者选中一本图书后,单击“确定”按钮,用“jsp: forward page=”语句将页面跳转到介绍该图书的信息页面。

(三个页面)

index.jsp

<%--index.jsp 页面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Demo2-3-1</title>
</head>
<body>
<form name="book" action="details.jsp">
    <input type="radio" name="library" id="1" value="a">《JavaWeb从入门到放弃》<br \>
    <input type="radio" name="library" id="2" value="b">《21天精通C++》<br \>
    <input type="radio" name="library" id="3" value="c">《Tomcat使用指北》<br \>
    <input type="submit" value="submit">
</form>
</body>
</html>

details.jsp

<%--details.jsp 页面--%>
<%@page contentType="text/html" pageEncoding="UTF-8" %>
<%
  request.setCharacterEncoding("UTF-8"); %>
<html>
<head><title>Demo2-3-2</title></head>
<body>
<%
 String select;
 select =request.getParameter("library");
 if(select.equals("a"))
 {%>
 <jsp:forward page="infoPage.jsp">
 <jsp:param name="name" value="《JavaWeb从入门到放弃》"/>
 <jsp:param name="details" value="《JavaWeb从入门到放弃》是JavaWeb开发的巅峰之作。"/>
 </jsp:forward>
 <%}else if(select.equals("b")) {%>
 <jsp:forward page="infoPage.jsp">
 <jsp:param name="name" value="《21天精通C++》"/>
 <jsp:param name="details" value="《21天精通C++》你值得拥有!"/>
 </jsp:forward>
 <%}else if (select.equals("c"));{%>
<jsp:forward page="infoPage.jsp">
 <jsp:param name="name" value="《Tomcat使用指北》"/>
 <jsp:param name="details" value="《Tomcat使用指北》是一本好书,好书,好书。"/>
</jsp:forward>
<%}%>
 </body>
 </html>

pageInfo.jsp

<%--pageInfo.jsp 页面--%>
<%@page contentType="text/html" pageEncoding="UTF-8" %>
<%
    request.setCharacterEncoding("UTF-8"); %>
<html>
<head><title>Demo2-3-3</title></head>
<body>
<p>你选择的图书为:
    <%=request.getParameter("name") %>
</p>
<br/>
<p>介绍:<%=request.getParameter("details") %>
</p>
</body>
</html>
  1. 设计求任意两个整数和的 Wb 程序。要求:用户通过提交页面(input.jsp)输入两个整数,并提交给一个 sum, jsp程序,在sum.jsp 中计算这两个数的代数和。如果代数和为非负数,则跳转到positive.jsp 页面,给出“结果为正!”提示信息并显示计算结果;否则,跳 转到negative.jsp 页面,给出“结果为负!”提示信息并显示计算结果。

(四个页面)

index.jsp

<%--index.jsp 页面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Demo2-4-1</title>
</head>
<body>
<form action="sum.jsp">
    <label >数1 :</label>
    <input type="text" name="a"><br \>
    <label >数2 :</label>
    <input type="text" name="b"><br \>
    <input type="submit" value="submit">
</form>
</body>
</html>

sum.jsp

<%--sum.jsp 页面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Demo2-4-2</title>
</head>
<body>
<%
    String a = request.getParameter("a");
    String b = request.getParameter("b");
    Integer p1 = Integer.parseInt(a);
    Integer p2 = Integer.parseInt(b);
    p1 = p1 + p2;
    if (p1 >= 0) {%>
		<jsp:forward page="positive.jsp"/>
		<%} else {%>
			<jsp:forward page="negative.jsp"/>
			<%}
%>
</body>
</html>

positive.jsp

<%--positive.jsp 页面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Demo2-4-3</title>
</head>
<body>
<h2>结果为正。</h2>
</body>
</html>

negative.jsp

<%--negative.jsp 页面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Demo2-4-4</title>
</head>
<body>
<h2>结果为负。</h2>
</body>
</html>
  1. 设计一个用户注册表单,其提交页面和信息获取后显示页面,如图 3-19 所示,用户填写完并提交后输出用户填写的信息。

(两个页面)

index.jsp

<%--index.jsp 页面--%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head><title>Demo2-5-1</title>
</head>
<body>
<form name="sheet" action="forward.jsp">
    <p>用户名:<input type="text" name="name" size="15"></p>
    <p>密码:<input type="password" name="pass" size="15"></p>
    <p>确认密码:<input type="password" name="pass_check" size="15"></p>
    <p>性别:<input type="radio" name="sex" value="" ><input type="radio" name="sex" value="" checked></p>
    <p>爱好:<input type="checkbox" name="hobby" value="计算机" checked>计算机
        <input type="checkbox" name="hobby" value="音乐">音乐
        <input type="checkbox" name="hobby" value="体育">体育
        <input type="checkbox" name="hobby" value="文学">文学</p>
    <p>星座:<select size = "1" name ="constellation">
        <option selected value = "请选择" >请选择</option >
        <option value="金牛"> 金牛 </option >
        <option value="巨蟹"> 巨蟹 </option>
        <option value="双鱼"> 双鱼 </option>
        <option value="射手"> 射手 </option>
    </select></p>
    <p>个人简介:</p>
    <p><textarea name="des" rows="5" cols="40" ></textarea></p>
    <p><input type="submit" value="注册"onclick="register()">
    <input type="reset" value="重置">
    </p>
</form>
</body>
<script language="javascript">
    function register(){
      
      
        if(sheet.pass.value!=user.pass_check.value){
      
      
            alert("密码不匹配!");
            return false;
        }
        if(sheet.name.value==""){
      
      
            alert("用户名为空!");
            return false;
        }
        if(sheet.pass.value.length<4){
      
      
            alert("密码长度小于4位");
            return false;
        }
        if(sheet.email.value==""){
      
      
            alert("邮箱为空!");
            return false;
        }
        if(sheet.email.value.indexOf('@',0)==-1||user.email.value.indexOf('.',0)==-1){
      
      
            alert("邮箱格式错误!");
            return false;
        }
        return true;
    }
</script>
</html>

forward.jsp

<%--forward.jsp 页面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Demo2-5-2</title>
</head>
<body>
<pre>
<%
    String name = request.getParameter("name");
    String pass = request.getParameter("pass");
    String sex = request.getParameter("sex");
    String[] hobby = request.getParameterValues("hobby");
    String constellation = request.getParameter("constellation");
    String des = request.getParameter("des");
    out.println("你的姓名是:" + name);
    out.println("你的密码是:" + pass);
    out.println("你的性别是:" + sex);
    out.print("你的爱好是:");
    for (int i = 0; i < hobby.length; i++)
        out.print(hobby[i]+"  ");
    out.println();
    out.println("你的星座是:" + constellation);
    out.println("你的个人简介是:" + des);
%>
    </pre>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_35760825/article/details/125397203