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

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

 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代码

原文地址:https://www.cnblogs.com/Yinchen-One/p/9629583.html

时间: 09-11

JAVA(利用jsp+javabean+servlet)实现简易计算器的相关文章

Jsp+JavaBean+Servlet实现模拟银行账户存取款等功能的网站(实习第4-8天)

本来想学J2EE的3个经典框架(Spring + Struts +Hibernate),奈何负责实习的老师只讲了Jsp+JavaBean+Servlet,项目时间还蛮紧的,所以只用JJS实现了这个项目,后面寒假有时间的话再用SSH实现并完善这个网站吧.前几天抽时间学了点前端的东西,感觉还是有点麻烦的,前端做既漂亮又有良好的兼容性不是件太容易的事情,所幸现在觉得能够静下来学技术做开发是件挺幸福的事情.网站的源代码上传到了CSDN上的code仓库,以后有时间会慢慢把这个项目的前端和后台做的更完善.

Java中jsp和Servlet的区别

1 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层. Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机. 2 JSP JSP技术使用Java编程语言编写类XML

JSP JavaBean Servlet 的介绍(转)

在JSP中调用JAVA类和使用JavaBean有什么区别? http://blog.sina.com.cn/s/blog_71c1942e01013gsb.html 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean   />调用JavaBean而其他类,可以和一般java中一样使用.  Bean的参数中还可以指定范围, <jsp:useBean  scope="application"   />该Bea

利用jsp和servlet,MySQL实现简易报表

beans包和jdbc包代码不放了,麻烦 Service.java: package service; import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List; import beans.Profit;import jdbc.JdbcConn

Java之JSP和Servlet基础知识。

JSP基础 JSP起源 JSP,Java Server Pager的简称.由SUN倡导并联合其它公司创建. JSP是一门脚本语言 JSP可以嵌入到HTML中 JSP拥有Java语言的所有特性 面向对象.健壮.多线程.安全.可移植.高性能 JSP运行于JSP容器中 Tomcat.Jetty等. JSP会被转换成Servlet JSP->Servlet->Class文件. Mac下常用shell命令: pwd 打印当前目录 ls 列出当前目录下的所有文件目录 cd 更改目录 .代表当前工作目录 .

从0开始学Java——从jsp到servlet转换的各种辅助元素介绍

1. 指示元素,<%@指示元素 [属性=值]* %> 其中指示元素包括page, include, 和tablib三个. 其中  属性=值 可以有多对. 其中page用来告知容器如何转译目前的jsp页面,下面这三个是最常用到的page属性: include用来将其他的jsp页面包含进来,比如可以把html的头和尾独立出来,然后在各种页面中都通过include指示元素把他包含进来. jsp是静态的,是编译期间的指示符.例子如下: 后续还有<jsp:include xxx> 标签,这个

JAVA,JSP,Servlet获取当前工程路径-绝对路径

在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径. 另:在Jsp,Servlet,Java中详细获得路径的方法! 1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI()结果:/TEST/test.jsp(

利用jsp和Servlet实现自己的原生JavaEE MVC框架

MVC是什么我就不多说了,我们平时做JavaWeb项目时,大都会用SSH框架的不同组合,那能不能不用SSH框架来实现一个原生的MVC框架呢? 下面就让我们来实现一个自己的javaWeb MVC框架. 项目结构如下: Controler的实现: package com.shu.controler; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServ

javabean+servlet+jsp程序_个人辛苦探索

主要介绍主流的java web编程技术.设计模式和框架,以及如何利用Eclipese开发Web应用程序. 要点:1.Java Web编程的主要组件技术: 2.MVC设计模式: 3.用Eclipse构建一个基于MVC模式的Java Web的应用程序. 目的:掌握如何用Eclipse构建一个基于MVC模式的Java WEB的应用程序. 一.java web 编程的主要组件技术 Html.jsp.Servlet.Javabean.Jdbc.Xml.Tomcat.MySQL 1.1 MVC设计模式 今天