mvc

使用 Hasor 进行多种 MVC 方式开发

时光总嘲笑我的痴心妄想 提交于 2019-11-30 05:05:29
这篇是承接《 轻量级 Java 开发框架 设计 》系列Blog文的后续文章,本文将着重讲解使用 MVC 设计模式开发基于 Hasor 的应用程序。 在《查询数据库显示到页面( http://my.oschina.net/u/1166271/blog/186940 )》一文中简要介绍了如何查询数据库的内容并显示到页面上,其中也用到了 MVC 开发模式。 本文将提及不同形式下的 MVC 在 Hasor 中如何运用。 最传统的 MVC 分层是, M 模型层负责处理业务逻辑,V 视图层负责展现业务层输出的数据,C 控制器负责外界环境的输入,并将输入转换为模型层的输入,最终将模型层的输出派发到视图。这种工作方式如下图所示: 这种 MVC 强制要求必须通过 控制器 将请求转发到视图上才能完成页面展示。这是典型的 MVC 模型,理解起来并不困难。但是基于这种模型开发人员在开发 Web 应用程序工作中会遇到问题。 首先我们知道,开发 WEB 应用程序需要一个展示页面。页面展示技术可以是 jsp、模板等。使用上面这种方式,开发人员要记住控制器、页面。两个地址。而控制器地址和页面地址往往会出现不一致或者无法根据一个给定的规则进行互相推导。 这样一来在调试过程中,开发人员往往会无从下手,到底是哪个控制转到这个视图,又或者这个控制器最终由哪个页面来展示。当然通过跟踪代码这根本不是问题

Spring 3 MVC深入研究[转]

坚强是说给别人听的谎言 提交于 2019-11-30 04:03:37
一、前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。 官方的下载网址是: http://www.springsource.org/download (本文使用是的Spring 3.0.5版本) Struts2也是比较优秀的MVC构架,优点非常多比如良好的结构。但这里想说的是缺点,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降。Struts2的多层拦截器、多实例action性能都很好。可以参考我写的一篇关于Spring MVC与Struts2与Servlet比较的文章 http://elf8848.iteye.com/admin/blogs/698217 Spring3 MVC的优点: 1、Spring3 MVC的学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。 2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分) 3、Spring3 MVC的灵活是你无法想像的,Spring的扩展性有口皆碑,Spring3 MVC当然也不会落后

Asp.Net MVC4入门指南(5):从控制器访问数据模型

回眸只為那壹抹淺笑 提交于 2019-11-29 23:33:30
在本节中,您将创建一个新的 MoviesController 类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里。 在开始下一步前,先Build一下应用程序( 生成应用程序 ) (确保应用程序编译没有问题) 用鼠标右键单击Controller文件夹,并创建一个新的 MoviesController 控制器。当Build成功后,会出现下面的选项。设定以下选项: ・ 控制器名称: MoviesController .(这是默认值)。 ・ 模板: MVC Controller with read/write actions and views, using Entity Framework . ・ 模型类: Movie (MvcMovie.Models) . ・ 数据上下文类: MovieDBContext (MvcMovie.Models) . ・ 意见: Razor (CSHTML). (默认值)。 单击 添加 。Visual Studio Express 会创建以下文件和文件夹: ・ 项目控制器文件夹中的MoviesController.cs文件。 ・ 项目视图文件夹下的 Movie文件夹。 ・ 在新的Views\Movies文件夹中创建Create.cshtml、 Delete.cshtml、 Details.cshtml、 Edit

spring3+hibernate4搭建

这一生的挚爱 提交于 2019-11-29 16:10:07
本框架以商品购物平台项目为例,用到spring3mvc和hibernate4,主要搭建步骤如下: 1、搭建spring3MVC 2、整合hiebernate4 【搭建spring3MVC】 (1)放入sping3所需的库、commons-logging-1.0.4.jar、jstl.jar (2)配置web.xml,启动spring和mvc <?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>spring3hibernate4</display-name> <!-- Spring配置文件开始 --> <context-param>

使用@Controller注解为什么要配置<mvc:annotation-driven />

巧了我就是萌 提交于 2019-11-29 15:46:32
自己看了官方文档,也到网上查了下,目前理解如下: <mvc:annotation-driven/>相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。即解决了@Controller注解的使用前提配置。 <context:annotation-config/>是对包进行扫描,实现注释驱动Bean定义,同时将bean自动注入容器中使用。即解决了@Controller标识的类的bean的注入和使用。 一开始我在写配置的时候,只写了<context:component-scan/>,并没有使用<mvc:annotation-driven/>,servlet拦截*.do,.do请求可以被正确捕捉和处理。代码如下 mvc-servlet.xml Java代码 <context:component-scan base- package = "com" ></context:component-scan> web.xml Java代码 <servlet> <servlet-name>mvc</servlet-name> <servlet- class >org.springframework.web.servlet.DispatcherServlet<

ASP.NET MVC 5

戏子无情 提交于 2019-11-29 14:06:10
MVC代表: 模型 - 视图 - 控制器 。MVC是一个架构良好并且易于测试和易于维护的开发模式。基于MVC模式的应用程序包含: ・ M odels: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的 数据类 。 ・ V iews: 应用程序动态生成 HTML所使用的模板文件。 ・ C ontrollers: 处理浏览器的请求,取得数据模型,然后指定要响应浏览器请求的视图模板。 本系列教程,我们将覆盖所有这些概念,并告诉您如何在ASP.NET MVC 5中使用它们来构建应用程序。 首先,让我们创建一个控制器类。在 解决方案资源管理器中 ,用鼠标右键单击控制器文件夹( Controllers ),然后选择“ 添加控制器“ 。 在添加 Scaffold 对话框,单击 MVC5 控制器 - 空 ,然后单击“ 添加 ”。 命名新的控制器为“HelloWorldController”,并单击“ 添加“。 请注意,在 解决方案资源管理器中 会创建一个名为 HelloWorldController.cs 的新文件和一个新的文件夹 Views\HelloWorld 。该文件会被IDE默认打开。 用下面的代码替换该文件中的内容。 using System.Web; using System.Web.Mvc; namespace MvcMovie.Controllers { public

url路径传中文显示乱码以及出现乱码解决方案

倾然丶 夕夏残阳落幕 提交于 2019-11-29 11:10:20
有时候需要在url路径传递中文,但是却又不想在url上显示中文。可以使用js提供的encodeURI将路径进行编码操作。或者对指定的中文用encodeURIComponent进行编码。 中文显示问题解决了,我们从服务器上获取url数据时候,就要进行解码了。 第一种方法,就是通过new String(str.getBytes("iso-8859-1","UTF-8"))进行转码。 第二种方法,就是通过配置tomcat的server.xml文件: <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> 就是加上URIEncoding="UTF-8" 这句参数了。 Cyper(方法2实测通过) 来源: oschina 链接: https://my.oschina.net/u/113421/blog/166874

Spring MVC 教程,快速入门,深入分析

可紊 提交于 2019-11-29 07:42:34
资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf SpringMVC核心配置文件示例.rar 作者:赵磊 博客:http://elf8848.iteye.com 目录 一、前言 二、spring mvc 核心类与接口 三、spring mvc 核心流程图 四、spring mvc DispatcherServlet说明 五、spring mvc 父子上下文的说明 六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css 八、spring mvc 请求如何映射到具体的Action中的方法 九、 spring mvc 中的拦截器: 十、 spring mvc 如何使用拦截器 十一、 spring mvc 如何实现全局的异常处理 十二、 spring mvc 如何把全局异常记录到日志中 十三、 如何给spring3 MVC中的Action做JUnit单元测试 十四、 spring mvc 转发与重定向 (带参数重定向) 十五、 spring mvc 处理ajax请求 十六、 spring mvc 关于写几个配置文件的说明 十七、 spring mvc 如何取得Spring管理的bean 十八、 spring mvc 多视图控制器 十九、 <mvc:annotation-driven />

struts2.0和Spring MVC

删除回忆录丶 提交于 2019-11-29 05:22:15
Spring MVC 和 Struts2 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置。spring3 mvc可以认为已经100%零配置了(除了配置spring mvc-servlet.xml外)。 Spring MVC和Struts2的区别: 1. 机制:spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同, 这里就牵涉到servlet和filter的区别了。 2. 性能:spring会稍微比struts快。 spring mvc是基于方法的设计 , 而sturts是基于类 ,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。 spring3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去,在spring3 mvc中,一个方法对应一个request上下文。 而struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入;struts2实际上是通过setter

struts2和spring mvc,孰优孰劣?

六月ゝ 毕业季﹏ 提交于 2019-11-29 05:21:52
最近我在将 APDPlat 升级到Java8,由于之前有很多的同学希望我把 APDPlat 的struts2替换为spring mvc,所以我就决定试试看。 本次我把APDPlat的struts2改造为spring mvc的目标是:99.99%不改动JS、HTML、JSP等前端代码,只改JAVA代码!所以大家要先理解我的目标,然后再来看我的做法。 本文我们看两个转换前后的例子: 1、下拉列表服务,此类比较简单,只涉及一个方法store: 使用struts2: @Scope("prototype") @Controller @Namespace("/dictionary") public class DicAction extends ExtJSSimpleAction<Dic> { @Resource private DicService dicService; private String dic; private String tree; private boolean justCode; /** * * 此类用来提供下拉列表服务,主要有两种下列类型: * 1、普通下拉选项 * 2、树形下拉选项 * @return 不需要返回值,直接给客户端写数据 * */ public String store(){ Dic dictionary=dicService.getDic(dic)