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. @codeforces - 1096G@ Lucky Tickets

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 已知一个数(允许前导零)有 n 位(n 为偶数),并知道组成这个 ...

  2. Strange Way to Express Integers

    I. Strange Way to Express Integers 题目描述 原题来自:POJ 2891 给定 2n2n2n 个正整数 a1,a2,⋯,ana_1,a_2,\cdots ,a_na​ ...

  3. 关于python 中的__future__模块

    Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了. 具体说来就是,某个版本中出现了某个 ...

  4. iptables 累计(Accounting)

    对於每一条规则,核心各自设置两个专属的计数器,用于累计符合该条件的封包数,以及这些封包的总位元组数.这两项资讯可用於统计网路用量. 举例来說,假设有一台Internet闸道器路,eth0接内部网络,e ...

  5. 学习HTML<audio>标签

    首先来看下这个例子: <audio controls autoplay="autoplay"> <source src="horse.ogg" ...

  6. Project Euler Problem 14-Longest Collatz sequence

    记忆化搜索来一发.没想到中间会爆int #include <bits/stdc++.h> using namespace std; const int MAXN = 1000000; in ...

  7. hdu 1434 幸福列车 (Leftist Tree)

    Problem - 1434 网上题解是普通的堆合并,都是用优先队列直接做的.可是正解的堆合并应该是用左偏堆或者斐波那契堆的吧,不然O(X * N ^ 2)的复杂度应该是过不了的.斐波那契堆的实现相对 ...

  8. 2019-8-31-PowerShell-通过-WMI-获取系统服务

    title author date CreateTime categories PowerShell 通过 WMI 获取系统服务 lindexi 2019-08-31 16:55:58 +0800 2 ...

  9. 【Learning Notes】线性链条件随机场(CRF)原理及实现

    1. 概述条件随机场(Conditional Random Field, CRF)是概率图模型(Probabilistic Graphical Model)与区分性分类( Discriminative ...

  10. 判断当前所使用python的版本和来源

    import sys print(sys.prefix) print(sys.executable) 怎样判断当前py文件在什么版本的python环境下运行 import sys print(sys. ...