01.Model
Model代表了描述业务路逻辑,业务模型、数据操作、数据模型的一系列类的集合。这层也定义了数据修改和操作的业务规则。
02.View
View代表了UI组件,像CSS,jQuery,html等。他只负责展示从controller接收到的数据。也就是把model转化成UI。
03.Controller
Controll负责处理流入的请求。它通过View来接受用户的输入,之后利用Model来处理用户的数据,最后把结果返回给View。Controll就是View和Model之间的一个协调者。
Controller处于核心位置,作为Model和View的衔接,同时链接到用户界面操作。今天,这个设计模式被很多热门框架所使用。
(1)JAVA EE中
这个简易计算器进行对两个数字的运算,选择(+、-、*、/)结算符,最后计算出结果。大概的界面设计如下所示:1.Model由实体Bean来实现:编写一个bean,用来封装计算器的数字,结果及操作运算符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| package com.lixiyu.bean;public class CalculatorBean { double numberOne,numberTwo,result;//数字1、数字2、结果 String operator="+";//操作 //setxxx和getxxx public void setNumberOne(double n) { numberOne=n; } public double getNumberOne() { return numberOne; } public void setNumberTwo(double n) { numberTwo=n; } public double getNumberTwo() { return numberTwo; } public void setOperator(String s) { operator=s.trim();; } public String getOperator() { return operator; } public void setResult(double r) { result=r; } public double getResult() { return result; }} |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { CalculatorBean dataBean = null; HttpSession session = request.getSession(true); try { dataBean = (CalculatorBean) session.getAttribute("ok"); if (dataBean == null) { dataBean = new CalculatorBean(); // 创建Javabean对象 session.setAttribute("ok", dataBean);// 将dataBean存储到session对象中 } } catch (Exception exp) { dataBean = new CalculatorBean(); // 创建Javabean对象 session.setAttribute("ok", dataBean);// 将dataBean存储到session对象中 } double numberOne = Double .parseDouble(request.getParameter("numberOne")); double numberTwo = Double .parseDouble(request.getParameter("numberTwo")); String operator = request.getParameter("operator"); double result = 0; if (operator.equals("+")) { result = numberOne + numberTwo; } else if (operator.equals("-")) { result = numberOne - numberTwo; } else if (operator.equals("*")) { result = numberOne * numberTwo; } else if (operator.equals("/")) { result = numberOne / numberTwo; } dataBean.setNumberOne(numberOne); // 将数据存储在dataBean中 dataBean.setNumberTwo(numberTwo); dataBean.setOperator(operator); dataBean.setResult(result); RequestDispatcher dispatcher = request .getRequestDispatcher("showResult.jsp"); dispatcher.forward(request, response);// 请求showResult.jsp显示dataBean中的数据 } |
在web.xml中注册servlet及实现映射:
inputNumber.jsp(主要代码):
|
No comments:
Post a Comment