MVC-1(例子)

例子

1:web.xml

<servlet> 
        <servlet-name>dispatcherServlet</servlet-name> 
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</
        servlet-class>
</servlet>
<!--为DispatcherServlet建立映射 -->
<servlet-mapping> 
      <servlet-name>dispatcherServlet</servlet-name> 
     <url-pattern>*.do</url-pattern>

</servlet-mapping>
2:spring配置文件

<beans>

        <bean id="localeResolver"

        class="org.springframework.web.servlet.i18n.AcceptHeaderLocale-
        Resolver">

        </bean>

        <!--配置控制器的映射-->

        <bean id="urlMapping" class="org.springframework.web.servlet.
        handler.SimpleUrlHandlerMapping">

                <property name="mappings">

                    <props>

                        <prop key="helloWorld.do">helloWorldAction</prop>

                    </props>

                </property>

        </bean>

        <!--配置视图-->

    <bean id="viewResolver" class="org.springframework.web.servlet.view.
    InternalResourceViewResolver">

        <property name="viewClass">

            <value>org.springframework.web.servlet.view.InternalResource-
            View</value>

        </property>

        </bean>

        <!--指定控制器的实现类,并且配置其参数的值-->

    <bean id="helloWorldAction" class="com.examp.ch23.HelloWorldAction">

        <property name="helloWorld">

            <value>Hello Spring World!</value>

        </property>

        <property name="viewPage">

            <value>sayHello.jsp</value>

        </property>

        </bean>

</beans>

3:Controller

public class HelloWorldAction implements Controller{    //控制器需要实现
                                                          Controller接口

private Logger logger = Logger.getLogger(this.getClass().getName());

 private String helloWorld;      //该属性用于获取配置文件中的helloWorld属性

 

 

 private String viewPage;        //用于获取配置文件中的viewPage属性

    public ModelAndView handleRequest(HttpServletRequest req, HttpServlet-
    Response res)

    throws ServletException, IOException {              //在该方法中处理用户请求

        Map model = new HashMap();

        model.put("helloWorld", getHelloWorld());       //将helloWorld属性存
                                                          入model中

        return new ModelAndView(getViewPage(),model);   //调用getViewPage获
                                                          取要返回的页面

    }

    public void setViewPage(String viewPage){

        this.viewPage = viewPage;

    }

    public String getViewPage(){

        return this.viewPage;

    }

    public void setHelloWorld(String helloWorld){

        this.helloWorld = helloWorld;

    }

    public String getHelloWorld(){

        return this.helloWorld;

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVC(Model-View-Controller,模型-视图-控制器)是一种软件架构模式,它将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。下面是一个简单的MVC设计模式的例子: 假设我们正在开发一个简单的图书管理系统,用户可以添加、删除和编辑书籍。我们可以将MVC模式应用于这个系统: 1. 模型(Model):模型是数据和业务规则的集合,即数据访问层。在我们的例子中,模型包括Book类,它保存图书的信息,如书名、作者、出版社等。 ```java public class Book { private String title; private String author; private String publisher; public Book(String title, String author, String publisher) { this.title = title; this.author = author; this.publisher = publisher; } // getters and setters } ``` 2. 视图(View):视图是用户界面的集合。在我们的例子中,视图由一个图书列表页面和一个表单页面组成,用户可以在列表页面查看所有书籍,在表单页面添加、编辑或删除书籍。 3. 控制器(Controller):控制器是应用程序逻辑的集合,它处理用户输入并更新模型和视图。在我们的例子中,控制器由一个BookController类实现,它处理用户的请求,并根据请求更新模型和视图。 ```java public class BookController { private List<Book> books; private Book currentBook; public BookController() { books = new ArrayList<>(); } public List<Book> getBooks() { return books; } public void addBook(Book book) { books.add(book); } public void deleteBook(Book book) { books.remove(book); } public void setCurrentBook(Book book) { currentBook = book; } public Book getCurrentBook() { return currentBook; } } ``` 在我们的例子中,控制器处理用户输入并更新模型和视图。例如,当用户在表单页面上添加书籍时,控制器将创建一个新的Book对象并将其添加到books列表中,然后更新图书列表页面以显示新的书籍。 这是一个简单的MVC设计模式示例。MVC模式可以使应用程序更容易理解和维护,因为它将应用程序分解为三个不同的部分,每个部分都有自己的责任和职责。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值