目录

  • 题目1
    • 1 题目说明
    • 2 实验设计
    • 3 运行界面截图与说明
    • 4 代码
      • login.jsp
      • success.jsp
      • validate.jsp
  • 题目2
    • 1 题目说明
    • 2 实验设计
    • 3 运行界面截图与说明
    • 4 代码
      • main.jsp
      • cal.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>

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

  1. java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示

    目录 1.题目说明 2.实验设计 2.1 表设计 2.2 工程结构 3.运行界面截图与说明 4.小结 附录:源代码 src/main/java src/main/java/bean Goods.jav ...

  2. 传道解惑 软件开发技术名词解密

    传道解惑 软件开发技术名词解密 序:去年为了总结自己所学习/接触过的技术,也顺便为初学者少走弯路指明一些方向,可惜后来诸事缠身未能继续,十分遗憾,现放到自己的BLOG上来鼓励自己将此继续下去. &qu ...

  3. 软件开发技术常用术语英中对照

    软件开发技术常用术语英中对照 A.I. 人工智能 A2A integration A2A整合 abstract 抽象的 abstract base class (ABC)抽象基类 abstract c ...

  4. 点评主流软件开发技术

    为什么80%的码农都做不了架构师?>>>    点评主流软件开发技术 http://soft.chinabyte.com/297/8698297.shtml ■ 河北秦皇岛 谷俭政 ...

  5. 2020年度总结 | 葡萄城软件开发技术回顾

    本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 2020年是不平凡的一年,虽然疫情为整个社会都带来了巨大的冲击,但IT技术人 ...

  6. 软件开发技术联盟 - 图书系列资源

    软件开发技术联盟编著,清华大学出版社出版. 资料来源官方授权许可,详情见链接 资源出处 另外推荐学习资源网站: 清华出版社图书资源 以下为软件开发技术联盟所提供的图书配套资源,多为图书所带光盘资料,为 ...

  7. 2021年度总结 | 葡萄城软件开发技术回顾(下)

    2021年度总结 | 葡萄城软件开发技术回顾(下) 在上节中,我们介绍了在过去一年中葡萄城在控件领域中的一些新探索,新尝试. (详细内容:https://www.cnblogs.com/powerto ...

  8. 软件开发技术顾问_成为成功的软件开发顾问的5个关键

    软件开发技术顾问 为什么我成为顾问 当我在2007年离开首席信息官(CIO)职位时,我想回到纯粹的软件开发领域. 软件开发工作(编程)是我的挚爱,在担任CIO几年后,我开始讨厌预算和更多预算以及捍卫预 ...

  9. 从今天开始,我就要潜心研究软件开发技术了,不在被名利所困

    参加工作六年来,我一直被虚名所困,想要通过努力得到单位的认可,但是由于我是小副科,学校领导根本不放在心上,我反而为此浪费了很多宝贵的时间. 从今天开始,我就要潜心研究软件开发技术,不再在单位争名夺利了 ...

最新文章

  1. MySQL必知必会读书笔记
  2. nyoj1311勤奋的涟漪
  3. java入门应该学什么_初学Java应该掌握哪些基础知识?
  4. 列表流和feed流_通过流而不是列表
  5. 定制化WordPress后台的6个技巧
  6. MySQL5.7的配置文件
  7. sql入门基础知识分享
  8. android防止程序休眠,android 设置 永不休眠
  9. redis设计秒杀活动图解
  10. 微信硬件平台蓝牙打印机
  11. 如何关闭win10自带杀毒?
  12. 常见的Linux查看检索归档文件及vi文本编辑器操作大全
  13. 如何快速把芝麻信用分提高到750以上?
  14. 计算机系统 ahci模式,老电脑安装系统忘记开启AHCI模式,教你不重装系统开启AHCI解决方法(3)...
  15. Maya Python脚本导出OBJ
  16. 浅析Margin和Padding属性
  17. 酷壳用的还是 Wordpress
  18. 日期格式化使用 YYYY-MM-dd 的潜在问题
  19. Maven - 6、生命周期和插件详解
  20. 【Linux】理解文件系统——软硬链接

热门文章

  1. matlab怎么方差函数,密度函数已知,怎么用matlab求其数学期望和方差?
  2. vue设置404页面
  3. Excel中VBA实现文件夹表格合并和数据提取
  4. [Cadence Sigrity] PowerDC打开提示No license available
  5. 低估蓝筹股成大势所趋,千万不要错过这个投资机会
  6. 我看2008—IT之最
  7. 基于Java+SpringBoot+Thymeleaf+Mysql旅游景区景点售票购票系统系统设计与实现
  8. 鸿蒙构建系统——gn官方FAQ翻译,以及gn官方文档分享
  9. python 自动化办公要装哪些模块_Python自动化办公(内容)
  10. gd32f470总结