JSP学习之初识JSP(实现简单的计算器)

2023-11-16

IE浏览器->Tomcat->数据库

访问JSP的过程:如果是第一次访问.jsp文件被服务器翻译成一个对应的java文件(Servlet),然后,再被编译成一个.class文件并装载到服务器的内存中。如果以后访问JSP,那就直接调用内存中JSP实例,第一次访问JSP慢,后面访问JSP的速度就会变快了。

<%@page contentType="text/html;charset=gb2312"%>
<html>
<body>
<h1>jsp1</h1>

<% %>这里表示的是java代码片段
<%
  int a=0;
  int b=9;
  int c=a+b;
  out.println("hello,world!,世界"+c);
%>
</body>
</html>

jsp和Servlet是对应关系,JSP是以Servlet为基础的

小示例1:

JSP实现计算器

知识点:

(1)如何接受JSP页面提交的数据,并处理

(2)jsp如何使用java片段

(3)JSP中如何使用JavaScript完成对数据合法性的校验

interFace.jsp界面代码(负责界面的显示,以及向result提交数据):

<!-- 这是计算器的界面-->
<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>
	<!--在jsp中添加jsp代码,防止用户空提交-->
	<script language="javascript">
		//写一个函数判断用户是不是提交空的
		function checkNum(){
			if(form1.num1.value==""){
				window.alert("num1,不能为空haha");
				return false;
			}
			//判断num1,是不是一个数
			if(Math.round(form1.num1.value)!=form1.num1.value){
				window.alert("num1,不是一个数");
				return false;
			}
		}
	</script>
</head>
	<body>
		<h1>我的计算器</h1>	
		<hr>
		<form name="form1" action="result.jsp">
			请输入第一个数:<input type="text" name="num1"><br/>
			<select name="flag">
				<option value=+>+</option>
				<option value=->-</option>
				<option value=*>*</option>
				<option value=/>/</option>
			</select><br/>
			请输入第二个数:<input type="text" name="num2"><br/>
			<input type="submit" value="计算" οnclick="return checkNum();"><!--点击后会调用JavaScript脚本,这里通过return返回给form-->
		</form>
		<hr>
	</body>
</html>

result.jsp界面代码(负责数据的处理):

<!--得到数据并且显示-->
<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>

</head>
<body>
<%
	//接收第一个数(通过request接收,request类似Servlet中的HttpRequestServlet)
	String s_num1=request.getParameter("num1");
	//接收第二个数
	String s_num2=request.getParameter("num2");
	//接收运算符号
	String flag=request.getParameter("flag");

	int num1=0;
	int num2=0;
	int result=0;

	//java中 String ->int
	num1=Integer.parseInt(s_num1);
	num2=Integer.parseInt(s_num2);


	//计算
	if(flag.equals("+"))
	{
		result=num1+num2;
	}else if(flag.equals("-")){
		result=num1-num2;
	}else if(flag.equals("*")){
		result=num1*num2;
	}else{
		result=num1/num2;
	}
	//输出结果
	out.println("结果是:"+result);
%>
</body>
</html>

小示例2:

按如下的目录结构,在Tomcat服务器下建立文件夹MyJspSite以及文件hello.jsp,目录结构如下:



以下是hello.jsp的代码:

<%@page contentType="text/html;charset=gb2312"%>
<html>
<body>
<h1>jsp1</h1>
<%
  out.println("hello,world!,世界");
%>
</body>
</html>

启动Tomcat后,在浏览器输入地址后显示如下:


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSP学习之初识JSP(实现简单的计算器) 的相关文章

  • 使用 Jquery Ajax 将数据从 jsp 发送到 struts2 操作类

    我需要使用 jquery Ajax 将表单数据从 jsp 传递到 struts2 并从 Struts2 操作类接收回 JSON 数据 我已经给出了下面的代码 当我传递 AJAX 数据时 url search action searchTex
  • FileNotFoundException - Struts2 文件上传

    Strange FileNotFoundException使用Struts2上传文件时 这是 JSP 的一部分
  • 使用 Apache commons 文件上传 API 在 Jsp 中上传多个文件

    我无法上传多个文件 我正在使用此代码 这里 itr hasNext 返回 false 文件上传 jsp
  • 将jsp表导出到excel、word、pdf

    任何人都可以建议我任何库 jar 文件 我可以使用它们将我的表导出到 excel pdf word 请告诉我是否有任何可以在 jsp 中创建报告的库 还应该提到的是 您只需输出 HTML 表格并将响应类型设置为即可将表格导出到 Excela
  • JSP 和 scriptlet

    我知道现在使用 scriptlet 被认为是禁忌 没关系 我会同意Top Star的话 因为我目前只是Java新手 到目前为止我听到的是 它是为了让设计师的生活更轻松 但我想知道 这是否与JSP页面的性能有关 另一方面 如果只是为了 让设计
  • 来自 jsp:include 的 JSF 1.2 自定义组件

    在开始回答我的问题之前 我先说一下我的不幸的局限性 我使用的是 JSF 1 2 而不是 2 所以没有复合组件 我使用 JSP 代替 Facelets 进行渲染 所以这些复合组件也没有 我不允许使用任何第三方标签库 richFaces ice
  • 如何重定向到WEB-INF文件夹中的JSP

    我有一个带有 NAV 的 jsp 其中还包含 UL 和以下元素 如下面的代码所示
  • jsp/servlet 从数组填充下拉框

    大家好 我正在尝试创建一个表单 允许您为某个主题创建一个实验室 它有一个下拉框 您可以在其中选择与该用户相关的主题 但是 当我去加载页面时 我收到此错误g apache jasper JasperException java lang Nu
  • JSP中如何在两个变量之间插入空格? [复制]

    这个问题在这里已经有答案了 我在 JSP 页面上的表单中有一行 html 如下所示
  • 如何将spring服务自动装配到jsp中?

    正如标题中提到的 我需要在我的 page jsp 中自动装配服务 我知道不建议这样做
  • 如何在我的网站上获取用户的国旗

    我想在我的网站上显示用户 访问者的国旗 我使用不同的技术 如 php jsp 和简单的 html 所以我想要一个代码 通过放置在我的网站上 访问者可以看到它 并且它应该在所有平台上运行 简而言之 我想要国家检测 API 如果有人能帮助我 我
  • 如何安装JSTL?绝对uri:http://java.sun.com/jsp/jstl/core无法解析[重复]

    这个问题在这里已经有答案了 这是我的 JSP 页面的 taglib 指令 我收到以下错误 HTTP Status 500 type Exception report message description The server encoun
  • 使用 s:select 标签在下拉菜单中使用 i18n [重复]

    这个问题在这里已经有答案了 我的 JSP 页面中有一个下拉菜单 它是通过
  • 在 Java Servlet 中上传文件

    我有一个 Java 动态 Web 项目 并且正在使用 TomCat v7 0 我是 Web 项目的新手 不太明白如何在我的 jsp 页面之一中上传文件 由于我的项目只是本地的 所以我认为我可以使用多部分形式 其中人们可以选择文件 并且这部分
  • 在 JSTL 中使用枚举

    我正在尝试使用 jstl 进行一些网站开发 但遇到了 出现以下问题 这里我试图创建一个下拉列表 其中显示的值是 国家名称 值为国家代码 为了做到这一点我 在后端java代码中有以下枚举 public static enum CountryC
  • 如何将 JavaScript 库包含到 Spring MVC 项目中(例如 jQuery 或 Dojo)

    我在这里阅读了超过 5 个相关主题 但无法找到答案 分步说明 到目前为止 我已经有了 STS Spring MVC 模板结构并尝试将jquery js在我的项目中的某个地方 不幸的是 没有人说它应该在哪里 那么 请说 将 jquery js
  • Spring mvc 添加多行

    我需要你的帮助 因为标题说我在从 jsp 表单插入多行时遇到问题 该代码来自该网站的答案 控制器 ModelAttribute programform public ProgramForm populatePojos Don t forge
  • 仅当 css 文件存在时才将其包含在 jsp 中

    我正在尝试使用默认 css 设计一个应用程序 我想要一个选项 我可以包含新的 css 自定义 文件来更改默认皮肤 我可以通过在 jsp 页面中引用 自定义和默认 css 来实现此目的 其中默认值将始终存在 并且可以为不同用户加载自定义 cs
  • jstl/jsp - 迭代 beans 向量

    我有一个 bean 向量 其中包含我想要在 jsp 页面中显示的信息 我目前只是使用标准 java 表达式来显示它 我想研究使用 jstl 来分离关注点 这可能吗 如何实现 我一直在谷歌搜索 但似乎找不到任何东西 我认为你正在寻找的是 ta
  • 在 JSP 或 Javascript 中清除浏览器缓存中的图像

    我正在为一所大学开发JSP Web 应用程序 用户页面中显示人员图片 用户注销后如何从网络浏览器缓存中清除这张图片 使用 JSP 或 JavaScript 那是不可能的 最好的选择是完全禁用相关资源的缓存 创建一个filter https

随机推荐

  • 谷粒商城高级篇(36)——商品上架之上传数据到Elasticsearch

    商品上架之上传数据到Elasticsearch 功能需求分析 分析 怎么设计存储结构来保存数据 空间换时间 时间换空间 最终方案 存储结构 关于 nested 类型 商品上架功能实现 guimall common pom xml com x
  • resnet50网络结构_轻量(高效)目标检测网络结构设计

    目标检测网络可以分成如图的5个部分 input image 输入图像的大小对整个网络推断耗时有最直接的影响 小的图像 自然整个网络推断时间就会大大减少 一般来说 输入图像大小与网络深度正相关 即 大图像需要更深的网络提取更好的特征 back
  • JS下setTimeout与setInterval二者的差异

    JS下setTimeout与setInterval二者的差异 很多人都觉得这两个方法差不多 但是 实际上 他们差的很远呢 因为setTimeout 表达式 延时时间 在执行时 是在载入后延迟指定时间后 去执行一次表达式 记住 次数是一次 而
  • Linux I2C 驱动实验

    一 I2C 驱动 本章同样以 I MX6U ALPHA 开发板上的 AP3216C 这个三合一环境光传感器为例 通过 AP3216C 讲解一下如何编写 Linux 下的 I2C 设备驱动程序 Linux 的驱动分离与分层的思想 因此 Lin
  • 数据库DML数据操作语言

    文章目录 DML 数据操作语言 1 插入数据 INSERT 1 1 语法 1 2 插入默认值 注意事项 1 3 全列插入 2 修改数据 UPDATE 2 1 语法 注意 2 2 修改指定记录 添加WHERE子句 1 WHERE子句中常用的条
  • 前端面试之开发中遇到的问题【建议收藏】

    N1 精度问题 0 1 0 2 0 3 使用math js或者big js解决问题致命 重视 N2 频繁请求问题 点击按钮发送请求 但是不能疯狂发请求 等到结果返回后可再次发送请求 可以定义一个flag待请求结束打开flag 1 代码习惯
  • 年底了,清空自己,让心归零!

    眨眼一年 荏苒半生 时光总是别样匆匆 其实这一生 不就是一年一年这样过着 转眼到中年 而后到老年 时间总是悄无声息 让你我措手不及 转眼就年底了 我们都该学会沉淀自己 把过往一键清零 让未来一切重头 年底了 做个总结吧 这一年以来 让你觉得
  • 为何出现Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes ...

    当在IDEA中连接Redis时出现 Java HotSpot 64 Bit Server VM warning Sharing is only supported for boot loader classes because bootst
  • 大数据技术之Zookeeper

    第1章 Zookeeper入门 1 1 概述 Zookeeper是一个开源的分布式的 为分布式框架提供协调服务的Apache项目 Zookeeper从设计模式角度来理解 是一个基于观察者模式设计的分布式服务管理框架 它负责存储和管理大家都关
  • 前端html通栏做法实践

    在前端通栏中也有很多种 今天给大家分享我做的一种 大家可以借鉴一下 虽然可能就一般 但是一般的通栏也就够用了 大家可以根据自己的需求来自行设计即可 这只是一个参考模板而已 下面的代码复制即可用 html代码
  • web worker API开启浏览器js多进程

    面试使人进步 在大厂佬们的碾压下接触到了目前工作中没有遇到的新api和新思路以及解决方案 今天就来说说这个新的api web Worker 以下是MDN原话 指的是一种可由脚本创建的后台任务 任务执行中可以向其创建者收发信息 要创建一个 W
  • 关于微信小程序海报画布绘制

    小程序需要关于用户点击分享时弹起画布海报分享朋友或者朋友圈 1 我们需要先要创建一个画布 然后需要在js里去初始化画布并且制作出想要的画布海报样式 到目前为止咱们的画布海报图已经可以出现了 接下来咱们可以将已生成的海报图片 保存到手机或者分
  • vue 计算属性 vs 方法, 过滤器

    vue 计算属性 vs 方法 过滤器 最近换项目了 终于重新开始 使用 vue 了 继续学习中 computed 计算属性将被混入到 Vue 实例中 所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例 变量
  • vue项目部署到nginx服务器

    相信很多刚学习vue的朋友都可以进行到将vue项目进行npm run build这部 对于将build后的结果部署到nginx服务器上却一知半解 作者刚开始的时候也是很迷惑 看到网上很多朋友在问 今天作者就将自己的部署过程记录下来 供大家参
  • Keil MDK5生成bin文件时生成了*.bin文件夹

    在Keil魔术棒中通过以下方式生成bin文件时 看提示命令执行成功 却生成了一个 bin文件夹 文件夹内部是两个bin文件 当时感觉很奇怪 第一次遇到这种情况 使用的命令 fromelf exe bin o firmware L bin o
  • Object的方法(对象的遍历,合并等)。

    1 构造函数 Object 创建一个新的 Object 对象 该对象将会包裹 wrapper 传入的参数 2 静态方法 Object assign 通过复制一个或多个对象来创建一个新的对象 Object create 使用指定的原型对象和属
  • 5个高清视频素材网站,免费下载~

    免费高清视频素材网站 这几个你一定要知道 建议收藏 1 菜鸟图库 https www sucai999 com video html v NTYxMjky 菜鸟图库网素材非常丰富 网站主要还是以设计类素材为主 高清视频素材也很多 像风景 植
  • Prometheus和Grafana

    1 首先简单介绍Prometheus和Grafana Prometheus是由SoundCloud开发的开源监控报警系统和时间序列数据库 TSDB 它是一个监控采集与数据存储框架 监控服务器端 具体采集什么数据依赖于Exporter 监控客
  • TrueCrypt简介、在VS2008下的编译过程

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家拍砖 编译过程中用到的工具下载地址 http download csdn net detail chenyujing1234 4448383 资
  • JSP学习之初识JSP(实现简单的计算器)

    IE浏览器 gt Tomcat gt 数据库 访问JSP的过程 如果是第一次访问 jsp文件被服务器翻译成一个对应的java文件 Servlet 然后 再被编译成一个 class文件并装载到服务器的内存中 如果以后访问JSP 那就直接调用内