概述
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);
}
}