简单的JAVA MVC框架模式--Java-servlet-JavaBean

2014-11-23 17:48:52 · 作者: · 浏览: 18

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码

此框架模式是一个简单的解决个人所得税计算的业务逻辑

servlet

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class TaxServlet
 */
public class TaxServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		String income = request.getParameter("income");

		int n = Integer.parseInt(income);

		// 控制器调用业务模型

		// 模型 JavaBean
		Tax tax = new Tax();
		int result = tax.getResult(n);

		// 结果存入作用域
		HttpSession session = request.getSession();
		session.setAttribute("ic", result);

		// 跳转到 show.jsp
		response.sendRedirect("show.jsp");

	}

}

JavaBean

实现对数据的处理:个人所得税的计算


public class Tax {

	// 怎么计算个人所得税

	public int getResult(int n) {
		// 计算个人所得税
		int x = n - 3500;
		if (x <= 0) {
			return 0;
		}
		if (x <= 1500) {
			return (int) (x * 0.03f);
		} else if (x <= 4500) {
			return (int) (x * 0.1f - 105f);
		} else if (x <= 9000) {
			return (int) (x * 0.2f - 555f);
		} else if (x <= 35000) {
			return (int) (x * 0.25f - 1005f);
		} else if (x <= 55000) {
			return (int) (x * 0.3f - 2755f);
		} else if (x <= 80000) {
			return (int) (x * 0.35f - 5505f);
		} else
			return (int) (x * 0.45f - 13505f);
	}

}
index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>




  
个人所得税查询



	

计算个人所得税


show.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




  
Insert title here


	
  
	<%
	int n =( (Integer)session.getAttribute("ic")).intValue();
	%>
	

<%=n %>