JSP 入门案例(计算器的实现)

对于jsp 学习的一些总结

1.使用Dreamweaver 搭建网页

计算器

第一个数字
符号 +

-

*

/

第二个数字

<form id="form1" name="form1" method="post" action="index.jsp?action=Do ">  //注意form 调单后面的acton 标签,其Do会成为action的参数被提交,验证时候,名为acton.值为Do
<table width="335" height="309" border="1" align="center">
<tr>
<td colspan="2"><h1 align="center">计算器</h1></td>
</tr>
<tr>
<td width="113">第一个数字</td>
<td width="210">
<input name="firstNumber" type="text" id="textfield" size="30" /></td>
</tr>
<tr>
<td>符号</td>
<td><input type="radio" name="radio" id="radio" value="1" />
<label for="radio">+
<input type="radio" name="radio" id="radio2" value="2" />
-</label>
<input type="radio" name="radio" id="radio3" value="3" />
<label for="radio3">*</label>
<input type="radio" name="radio" id="radio4" value="4" />
<label for="radio4">/</label>
</td>
</tr>
<tr>
<td>第二个数字</td>
<td><input name="secondNumber" type="text" id="textfield2" size="30" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="button" id="button" value="提交" />
<input type="reset" name="button2" id="button2" value="重置" />
</div></td>
</tr>
</table>
</form>

2.使用JSP 获取参数并处理表单

​ (<jsp:useBean id="c" scope="page" class="com.yangtao.Calculate"></jsp:useBean>)

//jsp:useBean 对java代码的获取
scope 标签:作用于整个页面
ID:给java类起一个对象名字
class:java字节码文件的位置
<jsp:useBean id="c" scope="page" class="com.yangtao.Calculate"></jsp:useBean>
<jsp:useBean id="d" scope="page" class="com.yangtao.Opertate"></jsp:useBean>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //验证表单
如果request对象的获取的action参数的值是"Do",则对起处理
if("Do".equals(request.getParameter("action"))){ //获取参数
String firstString=request.getParameter("firstNumber");
String secondString=request.getParameter("secondNumber");
String operString=request.getParameter("radio"); //复制给Bean c.setFirstNumber(Double.parseDouble( firstString));
c.setOprateCharechter(Integer.parseInt( operString));
c.setSecondNumber(Double.parseDouble(secondString));
//计算结果 double resultData=d.doCalculator(c); out.print("计算结果是:\t"+resultData);
}

3.java代码对计算逻辑的实现

package com.yangtao;
/**
* 这是计算机实体类
* @author yangtao
*
*/
public class Calculate {
/**
* firstNumber 这个是第一个计算参数
*/
private double firstNumber;
private double secondNumber;
private int oprateCharechter; /**
* 第一个参数的GET方法
* @return firstNumber
*/
public double getFirstNumber() {
return firstNumber;
}
public void setFirstNumber(double firstNumber) {
this.firstNumber = firstNumber;
}
public double getSecondNumber() {
return secondNumber;
}
public void setSecondNumber(double secondNumber) {
this.secondNumber = secondNumber;
}
public int getOprateCharechter() {
return oprateCharechter;
}
public void setOprateCharechter(int oprateCharechter) {
this.oprateCharechter = oprateCharechter;
} }
package com.yangtao;
/**
* 这是计算类
* @author lenovo
*
*/
public class Opertate { /**
* 这是计算机类 的变量
*/
private Calculate calc;
/**
* 这是是计算方法
*/
public double doCalculator( Calculate calc){
double first=calc.getFirstNumber();
double second=calc.getSecondNumber();
int opion = calc.getOprateCharechter(); double resulrValues=0.0;
switch (opion) {
case 1:
resulrValues= first+second;
break; case 2:
resulrValues= first-second;
break; case 3:
resulrValues= first*second;
break; case 4:
resulrValues= first/second;
break; default:
break;
} return resulrValues; }
}

4.<%@ include file="MyJsp.jsp" %>

jsp 知识点总结的更多相关文章

  1. JSP知识点大纲图

    这是我整理出来的JSP知识点大纲图,具体的内容都可以在我的博文中找到-.

  2. JSP知识点汇总

    有几种方法可以实现服务器内部跳转? 使用request对象提供的方法:request.getRequestDispatcher(String URI).forward(ServletRequest r ...

  3. JSP知识点大致介绍1

    解释:当jsp写好,运行服务器,还没有发出请求(写网址按Enter),Tomcat的work下是没有字节码文件的.当写网址:localhost:8888/xxxx/index.jsp按Enter,运行 ...

  4. JSP知识点总结

    一.jsp静态包含和动态包含的区别 在学习request对象的时候,我们曾经使用过request.getRequestDispatcher(String url).include(request,re ...

  5. JSP知识点

    1.九大内置对象: request HttpServletRequest类的实例 response HttpServletResponse类的实例 out PrintWriter类的实例,用于把结果输 ...

  6. jsp 知识点

    在JSP中很多对象是不需要创建的,如out.session等.它们可以直接使用. <% out.println(session.getId()); %>

  7. JSP知识点回顾

  8. Servlet&JSP中的知识点

    先sun提出的是Servlet体系,这个体系使得使用JAVA的程序员也能开发基于B/S架构的WEB应用程序,使用Servlet类将HTTP请求和响应封装在标准JAVA类中来实现各种WEB应用方案.随着 ...

  9. JSP面试题都在这里

    下面是我整理下来的JSP知识点: 图上的知识点都可以在我其他的文章内找到相应内容. JSP常见面试题 jsp静态包含和动态包含的区别 jsp静态包含和动态包含的区别 在讲解request对象的时候,我 ...

随机推荐

  1. @bzoj - 4524@ [Cqoi2016]伪光滑数

    目录 @description@ @solution@ @version - 1@ @version - 2@ @accepted code@ @version - 1@ @version - 2@ ...

  2. HZOJ matrix

    完全没有思路,状压到死没调出来……吐槽一下这题目描述的好不清楚啊好多人都理解错题了…… 题解: 真的挺神仙的,因为有每列最多放1个的限制,所以考虑按列dp,设f[i][j]表示考虑前i列在[1,i]中 ...

  3. hdu 3832 Earth Hour(最短路变形)

    Earth Hour Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others)Total ...

  4. swiper仿tab栏切换

    转载  https://developers.weixin.qq.com/community/develop/article/doc/000040a5dc4518005d2842fdf51c13 小程 ...

  5. linux下oracle查询中文乱码

    export NLS_LANG=AMERICAN_AMERICA.UTF8

  6. 对装饰器@wraps的解释(一看就懂)-- 并对装饰器详解

    1. 先看一段代码 def is_login(func): def foo(*args,**kwargs): return func(*args,**kwargs) return foo def te ...

  7. elasticsearch-倒排索引原理

    倒排索引 Elasticsearch 使用一种称为 倒排索引 的结构,它适用于快速的全文搜索.一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表. 例如,假设我们有两个 ...

  8. uni-app 快速认识

    uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/阿里/百度/头条/QQ)等多个平台. 即使不跨端,un ...

  9. python3快捷键

    原文:https://blog.csdn.net/pipisorry/article/details/39909057 PyCharm3.0默认快捷键(翻译的) PyCharm Default Key ...

  10. dotnet core 2.1 使用阶梯编译

    在 dotnet core 2.1 可以使用阶梯编译的方法,从 dotnet framework 开始,在代码的所有方法在第一次进入的时候就需要使用 JIT 进行编译为本机的代码.可以看到代码是在第一 ...