java程序设计与j2ee中间件技术/软件开发技术(III)-实验四-编写简单的jsp页面

简介: java程序设计与j2ee中间件技术/软件开发技术(III)-实验四-编写简单的jsp页面

题目1

1 题目说明

1.编写三个JSP页面login.jsp、validate.jsp和success.jsp。login.jsp输入用户名和密码,并提交给validate.jsp进行用户验证,如果正确(这里是静态数据)则转到success.jsp,否则回到login.jsp。

2 实验设计

题目1工程结构:有三个jsp页面,分别为login.jsp,success.jsp和validate.jsp。在login.jsp页面有提交按钮,将表单提交给validate.jsp进行验证,由validate.jsp写死的用户名和密码数据对login.jsp提交出的用户名和密码进行验证。success.jsp页面在登录成功后弹出。

3 运行界面截图与说明

题目1运行结果:正确地创建了login.jsp页面,并提示用户输入用户名、密码,在输入完成后点击提交。

点击“提交”后,正确地进入了validate.jsp页面。在validate.jsp页面中,写死了用户名“zombotany”,密码为“zombotany”。若在login.jsp页面输入的用户名与密码与其完全一致,则输出“账号密码正确!为你转入成功页面”,3秒后打开success.jsp。

打开success.jsp,提示“登录成功”。

点击“提交”后,若账号密码输错,则validate.jsp提示“账号密码错误”,并在3秒后退回login.jsp。

4 代码

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>login.jsp</title>
</head>
<body>
  <form action="validate.jsp">
    用户名:<input type="text" name="name"><br>
    密&nbsp&nbsp&nbsp&nbsp码:<input type="password" name="password">
    <br>
    <br>
    <input type="submit"></input>
  </form>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>success.jsp</title>
</head>
<body>
登录成功!
</body>
</html>

validate.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>validate.jsp</title>
</head>
<%!
  String myName="zombotany";
  String myPassword="zombotany";
%>
<body>
  这是判断登录页面<br>
  <%
  String name=request.getParameter("name");
  String password=request.getParameter("password");
  if (name.equals(myName)&&password.equals(myPassword)){
    out.println("账号密码正确!为你转入成功页面");
    response.setHeader("refresh","3;url=success.jsp");
  }
  else{
    out.println("账号密码错误!跳回登录页面");
    response.setHeader("refresh","3;url=login.jsp");
  }
  %>
</body>
</html>

题目2

1 题目说明

编写两个JSP页面,在第一个页面上输入两个操作数和一个操作符,在第二个页面上显示运算结果(只要实现加减乘除),如果输入不是数字提示重新输入。图如下。

2 实验设计

题目2工程结构:启动时运行main.jsp进行测试。main.jsp页面效果即为题目说明中的图6。cal.jsp负责对输入的数据进行判断与计算,并输出提示语句或计算结果。

3 运行界面截图与说明

该页面效果与题目说明中的图6是一致的,但图6为IE6等低版本浏览器中的效果,图8为chrome浏览器中的效果。有两个输入框可以输入两个操作数,中间可以选择运算符号。在输入后可以点击“计算”。

若输入为空,点击“计算”按钮后,系统会提示“输入不能为空!”,并跳转回输入页面。

若输入的不是数字,点击“计算”按钮后,系统会提示“输入错误!”,并跳转回输入页面。

若输入的数据正确,点击“计算”按钮后,系统会正确地计算运行结果。

4 代码

main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>main.jsp</title>
</head>
<body>
  <font size="40">计算器</font><br>
  <form action="cal.jsp">
    <input type="text" name="num1">
    <select name="op" >
      <option value="+">+
      <option value="-">-
      <option value="*">*
      <option value="/">/
    </select>
    <input type="text" name="num2">
    <br>
    <input type="submit" value="计算">
  </form>
</body>
</html>

cal.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<%@page import="java.util.*"%>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
  String str1=new String(request.getParameter("num1"));
  String str2=new String(request.getParameter("num2"));
  if (!str1.isEmpty() && !str2.isEmpty()){
    Scanner sc1=new Scanner(str1);
    Scanner sc2=new Scanner(str2);
    if (sc1.hasNextDouble()&&sc2.hasNextDouble()){
      char op=request.getParameter("op").charAt(0);
      double num1=sc1.nextDouble();
      double num2=sc2.nextDouble();
      switch (op){
        case '+':out.println(num1+num2);break;
        case '-':out.println(num1-num2);break;
        case '*':out.println(num1*num2);break;
        case '/':out.println(num1/num2);break;
        default:break;
      }
    }
    else{
      out.println("输入错误!跳转回输入页面");
      response.setHeader("refresh","3;url=main.jsp");
    }
    sc1.close();
    sc2.close();
  }
  else{
    out.println("输入不能为空!");
    response.setHeader("refresh","3;url=main.jsp");
  }
  %>
</body>
</html>


目录
相关文章
|
7月前
|
监控 Cloud Native Java
Quarkus 云原生Java框架技术详解与实践指南
本文档全面介绍 Quarkus 框架的核心概念、架构特性和实践应用。作为新一代的云原生 Java 框架,Quarkus 旨在为 OpenJDK HotSpot 和 GraalVM 量身定制,显著提升 Java 在容器化环境中的运行效率。本文将深入探讨其响应式编程模型、原生编译能力、扩展机制以及与微服务架构的深度集成,帮助开发者构建高效、轻量的云原生应用。
789 44
|
7月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
683 1
|
8月前
|
安全 Java 编译器
new出来的对象,不一定在堆上?聊聊Java虚拟机的优化技术:逃逸分析
逃逸分析是一种静态程序分析技术,用于判断对象的可见性与生命周期。它帮助即时编译器优化内存使用、降低同步开销。根据对象是否逃逸出方法或线程,分析结果分为未逃逸、方法逃逸和线程逃逸三种。基于分析结果,编译器可进行同步锁消除、标量替换和栈上分配等优化,从而提升程序性能。尽管逃逸分析计算复杂度较高,但其在热点代码中的应用为Java虚拟机带来了显著的优化效果。
248 4
|
8月前
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
1548 1
|
8月前
|
Java 测试技术 API
2025 年 Java 开发者必知的最新技术实操指南全览
本指南涵盖Java 21+核心实操,详解虚拟线程、Spring Boot 3.3+GraalVM、Jakarta EE 10+MicroProfile 6微服务开发,并提供现代Java开发最佳实践,助力开发者高效构建高性能应用。
1126 5
|
8月前
|
JavaScript 安全 前端开发
Java开发:最新技术驱动的病人挂号系统实操指南与全流程操作技巧汇总
本文介绍基于Spring Boot 3.x、Vue 3等最新技术构建现代化病人挂号系统,涵盖技术选型、核心功能实现与部署方案,助力开发者快速搭建高效、安全的医疗挂号平台。
392 3
|
7月前
|
安全 Cloud Native Java
Java 模块化系统(JPMS)技术详解与实践指南
本文档全面介绍 Java 平台模块系统(JPMS)的核心概念、架构设计和实践应用。作为 Java 9 引入的最重要特性之一,JPMS 为 Java 应用程序提供了强大的模块化支持,解决了长期存在的 JAR 地狱问题,并改善了应用的安全性和可维护性。本文将深入探讨模块声明、模块路径、访问控制、服务绑定等核心机制,帮助开发者构建更加健壮和可维护的 Java 应用。
597 0
|
测试技术 数据库 Android开发
0008Java安卓程序设计-ssm基于Android平台的健康管理系统
0008Java安卓程序设计-ssm基于Android平台的健康管理系统
268 0
|
关系型数据库 MySQL Android开发
0006Java安卓程序设计-ssm基于Android的校园二手商品交易平台1
0006Java安卓程序设计-ssm基于Android的校园二手商品交易平台
425 0
|
SQL 关系型数据库 MySQL
0019Java程序设计-SSM + MySQL 家庭医生预约平台
0019Java程序设计-SSM + MySQL 家庭医生预约平台
321 0

热门文章

最新文章