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. 伪静态的实现方法:IIS环境下配置

    URL 静态化可以提高搜索引擎抓取,开启本功能需要对 Web 服务器增加相应的 Rewrite 规则,且会轻微增加服务器负担.本教程讲解如何在 IIS 环境下配置各个产品的 Rewrite 规则. 下 ...

  2. springboot2多数据源完整示例

    springboot2 + mybatis + mysql + oracle + sqlserver多数据源的配置 相信很多朋友在开发的时候,可能会碰到需要一个项目,配置多个数据源的需求,可能是同一种 ...

  3. 【知识小结】Git 个人学习笔记及心得

    https://mp.weixin.qq.com/s/D96dXYfu3XAA4ac456qo0g git架构 工作区:就是你在电脑里能看到的目录. 版本库:工作区有一个隐藏目录.git,,而是Git ...

  4. Python--day66--内容回顾

    3,python中的大小比较和js中的大小比较规则: python中a>b>c,就是先比较a>b,然后再比较b>c,都为true的话就返回true: js中的a>b> ...

  5. js(四) 全选/全不选和反选

    思路:通过选择全选的选框的状态stuts 即true/false控制其他选框. 首先 我们要通过.checked方法获取选框(全选/全不选)的值. function all(){ var stuts= ...

  6. codeforce 378 div 2 F —— Drivers Dissatisfaction (最小生成树,LCA,倍增)

    官方题解: If you choose any n - 1 roads then price of reducing overall dissatisfaction is equal to min(c ...

  7. Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence(思维)

    传送门 题意: 给你一个只包含 '(' 和 ')' 的长度为 n 字符序列s: 给出一个操作:将第 i 个位置的字符反转('(' ')' 互换): 问有多少位置反转后,可以使得字符串 s 变为&quo ...

  8. 【u227】BOOK

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 陈老师喜欢网购书籍,经常一次购它个百八十本,然后拿来倒卖,牟取暴利.前些天,高一的新同学来了,他便像往 ...

  9. Scheduler

    先看看文档对于Scheduler的作用介绍 https://code4craft.gitbooks.io/webmagic-in-action/content/zh/posts/ch1-overvie ...

  10. Mail.Ru Cup 2018 Round 2 C. Lucky Days(拓展欧几里得)

    传送门 待参考资料: [1]:https://www.cnblogs.com/Patt/p/9941200.html •题意 a君,b君存在幸运周期: a君在第[ L1+k·t1,R1+k·t1]天为 ...