代码的实现

最基本的MVC模式

//input.jsp 输入界面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>提交数据页面</title>
</head> <body>
<form action="/servlet/CaculateServlet" method="post">
请输入第一个复数的实部:<input type="text" name="r1"/><br>
请输入第一个复数的虚部:<input type="text" name="i1"/><br>
选择运算类型:
<select name="oper">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select><br><br>
请输入第二个复数的实部:<input type="text" name="r2"/><br>
请输入第二个复数的虚部:<input type="text" name="i2"/><br>
<input type="submit" value="计算"/>
</form>
</body>
</html>

//CaculateServlet servlet类

package servlets;
import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import beans.Complex;
public class CaculateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public CaculateServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { double r1=Double.parseDouble(request.getParameter("r1"));
double i1=Double.parseDouble(request.getParameter("i1"));
String oper=request.getParameter("oper");//接受单选下拉框
double r2=Double.parseDouble(request.getParameter("r2"));
double i2=Double.parseDouble(request.getParameter("i2"));
String result="";
Complex c1=new Complex(r1,i1); //创建对象
Complex c2=new Complex(r2,i2);
if("+".equals(oper))
result=c1.add(c2).info();
else if("-".equals(oper))
result=c1.sub(c2).info();
else if("*".equals(oper))
result=c1.mul(c2).info();
else
result=c1.div(c2).info(); request.setAttribute("outputMassage", result); //保存输出结果到outMessage对象中
request.getRequestDispatcher("/output.jsp").forward(request, response);
//转向JSP页面
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);
}
}

//output.jsp 输出结果页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>显示结果页面</title>
</head>
<body>
<%=request.getAttribute("outMeaasge") %>
</body>
</html>

2017.11.21 基于JSP+Servlet+JavaBean实现复数运算(二)的更多相关文章

  1. 2017.11.20 基于JSP+Servlet+JavaBean实现复数运算(一)

    (7)在Servlet中使用JavaBean Servlet和JavaBean都是类,在Servlet中使用JavaBean有两种方式: 1.在一个Servlet中单独使用JavaBean 一般完成的 ...

  2. 基于jsp+servlet+javabean的MVC模式简单应用

    原先写在CSDN的一篇,我直接扒过来吧.之前打算在CSDN的,结果写了几回,发现他那个发布系统简直烂到家,经常丢失图片各种.所以很长一段时间我也没写什么. 一.MVC模式 1.M :  javabea ...

  3. 基于jsp+servlet图书管理系统之后台用户信息删除操作

    上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/de ...

  4. 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)

    在DRP中终于接触到了MVC,感触是确实这样的架构系统灵活性不少,现在感触最深的就是使用tomcat作为服务器发布比IIS好多了,起码发布很简单,使用起来方便. 首先来简单的学习一下MVC的基础知识, ...

  5. (jsp+servlet+javabean )MVC架构

    MVC是三个单词的缩写,这三个单词分别为:模型.视图和控制. 使用的MVC的目的:在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如Windows系统资源管理器文件夹内容的显示方 ...

  6. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  7. JSP+Servlet+javabean+oracle实现页面多条件模糊查询

    之前写过一篇JSP+Servlet+javabean+mysql实现页面多条件模糊查询 使用的是mysql进行的分页查询,mysql用limit控制,而oracle则是用rownum,今天第一次写or ...

  8. JSP中使用的模式——JSP+Servlet+JavaBean

    上一篇博文写到模式一:JSP+JavaBean 链接地址:http://wxmimperio.coding.io/?p=155 JSP中两种模式的总结 链接地址:http://wxmimperio.c ...

  9. MVC jsp+servlet+javabean 连接Mysql数据库測试demo

    本文介绍的是怎样使用MVC架构去实现jsp+servlet+javabean连接数据库 首先我们应该了解什么是MVC: MVC包含三个部分 : ①View:由各种JSP页面组成. ②Controlle ...

随机推荐

  1. c++ 封装线程库 0

    1.互斥锁简介 互斥锁主要用于互斥,互斥是一种竞争关系,用来保护临界资源一次只被一个线程访问. POSIX Pthread提供下面函数用来操作互斥锁. int pthread_mutex_init(p ...

  2. 这是通过 Open Live Writer(是个博客编辑器) 发布的

    Open Live Writer  是开源的win10上的博客编辑器

  3. python dataframe drop_duplicates用法技巧去重

    data.drop_duplicates()#data中一行元素全部相同时才去除 data.drop_duplicates(['a','b'])#data根据’a','b'组合列删除重复项,默认保留第 ...

  4. js写ajax并解析json

    function down(t){  var req = createRequest();  //创建request req.open("GET","selectWord ...

  5. thinkphp3.2.3 ueditor1.4.3 图片上传操作,在线删除上传图片功能。

    最近弄一个图片 上传,可是用ueditor 自带的上传,如果不配置的话,上传的目录不在自己的项目中. 在网上找了好多,可是都是底版本的,新版本的还真是找到了一个,ueditor-thinkphp 这个 ...

  6. Murano Weekly Meeting 2016.05.17

    Meeting time: 2016.May.17 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary:   1 ...

  7. stm32 窗口看门狗学习(一)

    什么是窗口看门狗? 1)独立看门狗                限制喂狗时间在0-x内,x由相关寄存器决定.喂狗的时间不能过晚. 2)窗口看门狗               之所以称为窗口就是因为其 ...

  8. java 多线程 yield方法的意义

    Thread.yield( )方法: 使当前线程从执行状态(运行状态)变为可执行态(就绪状态).cpu会从众多的可执行态里选择,也就是说,当前也就是刚刚的那个线程还是有可能会被再次执行到的,并不是说一 ...

  9. Windows 2008 R2 防火墙允许Serv-U通过的方法

    在Windows 2008 R2上安装了Serv-U FTP服务端软件之后,无法通过客户端连接,究其原因是Windows 2008的防火墙没有开启FTP端口,而且在防火墙上添加Serv-U程序也不行, ...

  10. python 在windows下监听键盘按键

    python 在windows下监听键盘按键 使用到的库 ctypes(通过ctypes来调用Win32API, 主要就是调用钩子函数) 使用的Win32API SetWindowsHookEx(), ...