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>


目录
相关文章
|
消息中间件 存储 RocketMQ
消息中间件-RocketMQ技术(二)
消息中间件-RocketMQ技术(二)
|
消息中间件 存储 中间件
消息中间件-RocketMQ技术(一)
消息中间件-RocketMQ技术(一)
|
SQL Java 中间件
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
在BeetISQL 2.13.8版本中,客户使用batch insert向yashandb表插入数据并尝试获取自动生成的sequence id时,出现类型转换异常。原因是beetlsql在prepareStatement时未指定返回列,导致yashan JDBC驱动返回rowid(字符串),与Java Bean中的数字类型tid不匹配。此问题影响业务流程,使无法正确获取sequence id。解决方法包括:1) 在batchInsert时不返回自动生成的sequence id;2) 升级至BeetISQL 3,其已修正该问题。
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
487 63
|
开发框架 前端开发 Java
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
【8月更文挑战第12天】SpringBootWeb极速入门-实现一个简单的web页面01
650 3
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
该博客文章讲解了JSP中`<jsp:getProperty>`和`<jsp:setProperty>`动作的使用方法,包括它们的语法格式和如何在页面中使用这些动作来获取和设置JavaBean对象的属性值,并通过图书信息的填写和展示示例进行了演示。
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
586 1
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
270 1
|
安全 Java 应用服务中间件
【Azure 应用服务】App Service中,为Java应用配置自定义错误页面,禁用DELETE, PUT方法
【Azure 应用服务】App Service中,为Java应用配置自定义错误页面,禁用DELETE, PUT方法
211 0
【Azure 应用服务】App Service中,为Java应用配置自定义错误页面,禁用DELETE, PUT方法
|
JSON 前端开发 Java
java系列之 页面打印出 [object Object],[object Object]
文章解释了在前端页面打印JSON对象时出现`[object Object]`的原因,并提供了使用`JSON.stringify(json对象)`方法将对象转换为可读字符串的解决方案。
java系列之 页面打印出 [object Object],[object Object]

热门文章

最新文章