MVC模式

概述

MVC模式分为三部分

  • 模型,用于存储数据的对象,用JavaBean实现
  • 视图,为模型提供数据显示的对象,JSP实现,此种模式下,JSP只用于使用 HTML标记和JavaBean标记来显示数据,不再对JavaBean的值做操作
  • 控制器,用于处理业务逻辑,控制器根据视图提出的要求对数据做出处理,并将有关结果存储到模型中,同时负责让模型和视图进行必要的交互,当模型中的数据变化时,让视图更新显示。即接收客户端的请求参数,据此更新JavaBean,并将请求转发到新的页面,用Servlet实现

实例

index.jsp

<body>
<form action="MyServlet" method="post">
	<input type="text" name="a"/>
	<input type="text" name="b"/>
	<input type="submit"/>
</form>
</body>

tmp.jsp 这里注意useBean的时候指定scope为request,这样才会在request域寻找实例

<body>
<%= "a的值"+request.getParameter("a") %>
<br>
<jsp:useBean id="bean" class="com.caut.bean.Bean" scope="request"/>
<jsp:getProperty property="a" name="bean"/>
<br>
<jsp:getProperty property="b" name="bean"/>
<br>
<jsp:getProperty property="area" name="bean"/>
<br>
</body>

MyServlet.servlet

import com.caut.bean.Bean;
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	public MyServlet() {
		super();
	}
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
		// response.getWriter().append("Served at: ").append(request.getContextPath());
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 设置JavaBean的值
		Bean MyBean = new Bean();
		String aString = request.getParameter("a");
		String bString = request.getParameter("b");
		MyBean.setA(Integer.parseInt(aString));
		MyBean.setB(Integer.parseInt(bString));
		MyBean.setArea(Integer.parseInt(aString) * Integer.parseInt(bString));
		// 作用域定义为request并转发
		request.setAttribute("bean", MyBean);
		RequestDispatcher dispatcher = request.getRequestDispatcher("tmp.jsp");
		dispatcher.forward(request, response);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值