代码解释基本都在代码中给出

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>简易计算器</title>
 8 </head>
 9 <body>
10
11     <!--
12         总结一下今天学到的知识
13         1、学到了EL表达式----》贼强哇  以前都不知道(调用的时候直接写&{里边写下边4中的一种之后添加东西}
14             ①:PageScope
15             ②:RequestScope
16             ③:SessionScope
17             ④:ApplicationScope
18         2、说一下自己在写完代码与看完老师代码之后出现的一些复杂的地方
19             ①:我在处理radio的时候使用for循环写的   但是,看了老师的三元表达式以后,我承认,我的复杂了  (无懈可击)
20         3、今天还学到了一个新知识(关于服务器跳转和客户端跳转)
21             ①:服务器跳转(快):在服务器之间跳转是可以使用request的
22             ②:客户端跳转(相对于服务器 不快):在客户端跳转中是应该使用session的
23      -->
24     <form action="CalServlet" method="post"  name="From" >
25         第一个数:<input type="text" name="num1" value="${requestScope.cal.num1}"><br>
26         运算符:
27         <input type="radio" name="operator" value="+" ${requestScope.cal.op=="+"?"checked":""}>+
28         <input type="radio" name="operator" value="-" ${requestScope.cal.op=="-"?"checked":""}>-
29         <input type="radio" name="operator" value="*" ${requestScope.cal.op=="*"?"checked":""}>*
30         <input type="radio" name="operator" value="/" ${requestScope.cal.op=="/"?"checked":""}>/
31         <br>
32         第二个数:<input type="text" name="num2" value="${requestScope.cal.num2}"><br>
33         <input type="submit" name="smt" value="提交"><br>
34         计算结果:<input type="text" name="result" value="${result}">
35     </form>
36
37 </body>
38 </html>

Jsp页面

package Calculation;public class Cal {private float num1;private String op;private float num2;public float getNum1() {return num1;}public void setNum1(float num1) {this.num1 = num1;}public String getOp() {return op;}public void setOp(String op) {this.op = op;}public float getNum2() {return num2;}public void setNum2(float num2) {this.num2 = num2;}}

JvaBean代码

 1 package CalculationServlet;
 2
 3 import java.io.IOException;
 4 import javax.servlet.ServletException;
 5 import javax.servlet.annotation.WebServlet;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9
10 import Calculation.Cal;
11
12 /**
13  * Servlet implementation class CalServlet
14  */
15 @WebServlet("/CalServlet")
16 public class CalServlet extends HttpServlet {
17     private static final long serialVersionUID = 1L;
18
19     /**
20      * @see HttpServlet#HttpServlet()
21      */
22     public CalServlet() {
23         super();
24         // TODO Auto-generated constructor stub
25     }
26
27     /**
28      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
29      */
30     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
31         // TODO Auto-generated method stub
32         response.getWriter().append("Served at: ").append(request.getContextPath());
33     }
34
35     /**
36      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
37      */
38     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
39         // TODO Auto-generated method stub
40         //doGet(request, response);
41         response.setCharacterEncoding("UTF-8");
42         Cal cal = new Cal();
43         cal.setNum1(Float.parseFloat(request.getParameter("num1")));
44         cal.setOp(request.getParameter("operator"));
45         cal.setNum2(Float.parseFloat(request.getParameter("num2")));
46         float result = 0;
47         switch(cal.getOp().charAt(0)) {
48             case '+': result = cal.getNum1() + cal.getNum2();break;
49             case '-': result = cal.getNum1() - cal.getNum2();break;
50             case '*': result = cal.getNum1() * cal.getNum2();break;
51             case '/': result = cal.getNum1() / cal.getNum2();break;
52             //可以加入一个default
53         }
54         //System.out.println(result);
55         request.setAttribute("result", result);
56         request.setAttribute("cal", cal);  //----  传值不过去???
57         //request.getSession().setAttribute("cal", cal);
58         //新知识
59         //下边的这个函数就是服务器之间跳转  注意需要先调用getRequestDispatcher来获取这个对象  我是这么理解的
60         request.getRequestDispatcher("Cal.jsp").forward(request, response);
61     }
62
63 }

Servlet代码

下边大概了解一下过滤器的问题

//个人理解

1、重要内容写在doFilter中

2、传值那些的写在doinit中

转载于:https://www.cnblogs.com/Yinchen-One/p/9629583.html

JAVA(利用jsp+javabean+servlet)实现简易计算器相关推荐

  1. java和jsp交互 structs_Struts与jsp+javabean+servlet区别

    采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么? 在Javaweb开发领域存在2种开发模式, 模式一,jsp+javabean 模式二,jsp+ja ...

  2. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发 用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这 ...

  3. JSP+JavaBean+Servlet工作原理实例…

    JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...

  4. JavaEE初学之jsp+JavaBean实现页面简单计算器

    JavaEE初学之jsp+JavaBean实现页面简单计算器 这个学期刚刚学了JavaEE,简单记录一下,希望以后会有帮助. 实现效果 首先新建一个web project:Calculator,然后新 ...

  5. [ Java ] 实现两个数加减乘除的简易计算器

    [ Java ] 实现两个数加减乘除的简易计算器 新手,不足之处望大佬们海涵 感谢( *ˊᵕˋ)✩︎‧₊ 以下为代码: package com.zhong.homework;import java.u ...

  6. Java Web中用Servlet编写简易计算器

    运行效果: 运行结果: 文件目录: CalculateServlet.java中的代码 package com.lyq.servlet;import java.io.IOException; impo ...

  7. 基于java eclipse+jsp+mysql+servlet+Spring的学生信息管理系统基础版

    项目背景 学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分.特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的 ...

  8. JSP JavaBean Servlet 的介绍(转)

    在JSP中调用JAVA类和使用JavaBean有什么区别? http://blog.sina.com.cn/s/blog_71c1942e01013gsb.html 可以像使用一般的类一样使用Java ...

  9. Java方法:练习,控制台简易计算器

    可以更改计算个数的简易计算器 package com.zdz.method;import java.util.Scanner;public class Operator {public static ...

最新文章

  1. 内存中OLTP(Hekaton)的排序警告
  2. l2的最优回归_【机器学习】逻辑回归(非常详细)
  3. 阿里研究员:缩短软件开发中的反馈弧
  4. vue-cli中的webpack的config配置详细说明
  5. java文本域 图片_java swing中给面板或者文本域设置背景图片的方法!
  6. 6410的系统时钟设置(上)---6410时钟控制逻辑框架分析
  7. 1900页Python系列PPT分享六:面向对象程序设计(86页)
  8. [置顶] EasyUI提交表单
  9. 转载需作者授权是如何实现的
  10. 如何使用jquery ,浏览器窗口滚动到一定距离,显示div中的内容
  11. python编程课件_Python面向对象程序设计ppt课件.ppt
  12. mysql.sock 路径_关于mysql.sock路径的问题
  13. upnp+捕捉摄相头客户端程序
  14. 阿里datav使用记录1
  15. 我的世界win10java_我的世界java版和win10版的区别
  16. 调研 FlinkSql功能测试及实战演练
  17. esp8266之红外报警
  18. clips与C++的交互
  19. python爬虫怎么赚钱-小哥用Python兼职月入过万,用Python做项目有多赚钱
  20. 智控网络——智谋云价签,与智慧门店同飞跃、共变革

热门文章

  1. php实现cookie加密解密
  2. repeater 控件嵌套
  3. 怀念 儿时课本贴图,你还记得课文名吗
  4. CCS V5 创建工程和配置软件仿真
  5. python try...except....else...finally处理异常
  6. 强行分类提取特征自编码网络例2
  7. Android权限处理分类
  8. HTML(5)+CSS(3)--那些不知道但重要的知识!
  9. 专访Matt Klein关于在Lyft构建Envoy的问答
  10. using namspace std的使用