初识MVC模式

一.概念:MVC是 模型(Model),视图(View)和控制(Controller)的缩写,其目的实现Web系统的职能分工。

二.问题描述:通过一个简单的例子(计算圆面积)来体会MVC模式和普通的servlet+jsp的区别……

ctrl+"/'是单行注释,只在java文件里有效,在jsp里无效,不过可以撤销;ctrl+shift+"/"在java和jsp文件里都有效果,在jsp文件里是html注释,不过不可撤销,只能ctrl+z撤消了……

  1. jsp+javabean

  

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <html>
 4 <head>
 5     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 6     <title>JSP+JavaBean</title>
 7 </head>
 8 <body>
 9 <!-- 不写action的话是提交到本页面 -->
10 <form >
11     <input type="text" name="r"/>
12     <input type="submit" value="提交"/>
13 </form>
14 <jsp:useBean id="c" class="bean.Circle"/>
15 <jsp:setProperty property="*" name="c"/>
16 <!-- 从上下文获取 ,原来显示0.0-->
17 <jsp:getProperty property="area" name="c"/>
18 </body>
19 </html>

2.Cicle类

 1 package bean;
 2
 3 public class Circle {
 4
 5     private double r;
 6     private double area;
 7
 8     public double getR() {
 9         return r;
10     }
11     public void setR(double r) {
12         this.r = r;
13     }
14     //面积不可以设定
15     public double getArea() {
16         area = Math.PI * r* r;
17         return area;
18     }
19 }

 3.web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>test</display-name>

  <servlet>
  	<servlet-name>com</servlet-name>
  	<servlet-class>servlet.Com</servlet-class>
  </servlet>

  <servlet-mapping>
  	<servlet-name>com</servlet-name>
  	<url-pattern>/com</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

4.输入界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>输入界面</title>
</head>
<body>
<!--com是servlet中Com.java的名字,随便起  -->
<form action="com">
	<input type="text" name="r"/>
	<input type="submit" value="提交"/>
</form>
</body>
</html>

 

5.输出界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>输出界面</title>
</head>
<body>
r:${r }
<br/>
area:${area }
</body>
</html>

 

6.servlet文件

 1 package servlet;
 2
 3 import java.io.IOException;
 4
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9
10 import bean.Circle;
11
12 public class Com extends HttpServlet {
13
14     @Override
15     protected void service(HttpServletRequest request, HttpServletResponse response)
16             throws ServletException, IOException {
17         String str = request.getParameter("r");
18         double r = Double.parseDouble(str);
19
20         Circle c = new Circle();
21         c.setR(r);
22         double area = c.getArea();
23
24         request.setAttribute("r", str);
25         request.setAttribute("area", area);
26         request.getRequestDispatcher("output.jsp").forward(request, response);
27
28     }
29
30
31 }

 

时间: 2024-09-20 14:49:53

初识MVC模式的相关文章

MVC模式在j2me项目中的应用(一)

项目 MVC模式在j2me项目中的应用(一)作者:FavoYang Email:favoyang@yahoo.com 欢迎交流Keywords:MVC j2me UI模式 内容提要:本文简要的介绍了MVC模式的思想,并分析了MVC模式的利弊,最后结合MIDP平台给出几种常见的MVC模式实践.相信此文对任何一个使用midp平台的商务程序开发者都或多或少的有所帮助. 版权声明:本文同时发表在www.j2medev.com和我的Blog(blog.csdn.net/alikeboy)上,如果需要转载,

MVC模式在j2me项目中的应用(一)

版权声明:本文同时发表在www.j2medev.com和我的Blog(blog.csdn.net/alikeboy)上 ,如果需要转载,有三个途径:1)联系我并经我同意:2)和www.j2medev.com有转载文章合 作协议的 3)通过Rss聚合我的Blog.另外网上转载需要全文转发(包括文章的头部的声明), 不要断章取义. 正文: 初识MVC模式 第一次认识到MVC模式是从Microsoft MFC框架所采用的"文档-视图"模型开始的.第一 次接触到这个概念让我兴奋不已,很长时间困

MVC模式在j2me项目中的应用(二)

版权声明:本文同时发表在www.j2medev.com和我的Blog(blog.csdn.net/alikeboy)上 ,如果需要转载,有三个途径:1)联系我并经我同意:2)和www.j2medev.com有转载文章合 作协议的 3)通过Rss聚合我的Blog.另外网上转载需要全文转发(包括文章的头部的声明), 不要断章取义. 正文: Note项目描述 手机是一个真正随身携带的数字终端,我们除了利用手机打电话.发信息外,往往让他帮 助我们记录文字性的信息.PDA有较大的屏幕和手写输入的功能,而手

mvc模式的extjs4中pannel多选问题(在线等 急)

问题描述 mvc模式的extjs4中pannel多选问题(在线等 急) 需求:我需要在查询列表面板panel中添加多选项,并可以通过点击查询面板panel上的按钮获取查询列表面板的所有选中值. 现象:方法一.我使用selModel : new Ext.selection.CheckboxModel(),点击查询面板的按钮可以获取到多选值,通过弹出框显示出来,但是关闭弹出框以后,只能通过表头的多选框进行全选或取消全选,单击列表中的个别行或行前的多选框就没反应: 方法二.我使用selModel :

J2EE MVC模式JSF与Struts的异同

j2ee|js Struts和JSF/Tapestry都属于表现层框架,这两种分属不同性质的框架,后者是一种事件驱动型的组件模型,而Struts只是单纯的MVC模式框架,老外总是急吼吼说事件驱动型就比MVC模式框架好,何以见得,我们下面进行详细分析比较一下到底是怎么回事? 首先事件是指从客户端页面(浏览器)由用户操作触发的事件,Struts使用Action来接受浏览器表单提交的事件,这里使用了Command模式,每个继承Action的子类都必须实现一个方法execute. 在struts中,实际

MVC模式概述

    MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller).MVC模式的目的就是实现Web系统的职能分工.      Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现.     View层用于与用户的交互,通常用JSP来实现.      Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作. MVC模式的

基于MVC模式的Struts框架概述

作者:yarshray   关键字: Java  J2EE  MVC  JSP  Servlet  MVC  Struts 内容简介:        MVC设计模式成为了目前十分流行的一种设计方法.它是一种软件的设计方法模式.并且被大量的开发和实践所证明.因此本文通过介绍Struts框架这种已经实现了MVC模式的软件构件框架了讨论该模式的优势和如何投入到软件开发中去.        本文内容注重理论和实践相结合,比较系统的从多层设计方式到分布式软件开发中所用到的技术,从而切入目前Sun公司退出的

基于MVC模式的Struts框架研究与应用

摘要: Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发.本文讨论了Struts框架实现MVC模式的原理与方法,给出了一个具体的应用实例. 分布式企业应用软件结构复杂.涉及多种技术,对设计开发人员提出了很高的要求.在此情况下,运用设计模式――可复用的设计方案进行软件的设计开发十分必要.MVC模式已被证明是一种成功的软件设计模式,本文主要讨论了一种实现MVC模式的应用框架――Struts,并通过一个实例展示了Struts框架实现MVC模式的方法.

用Visual C#实现MVC模式的简要方法

visual 在我们的开发项目中使用MVC(Model-View-Control)模式的益处是,可以完全降低业务层和应用表示层的相互影响.此外,我们会有完全独立的对象来操作表示层.MVC在我们项目中提供的这种对象和层之间的独立,将使我们的维护变得更简单使我们的代码重用变得很容易(下面你将看到). 作为一般的习惯,我们知道我们希望保持最低的对象间的依赖,这样变化能够很容易的得到满足,而且我们可以重复使用我们辛辛苦苦写的代码.为了达到这个目的我们将遵循一般的原则"对接口编成,而不是对类"来