1、新增加一个类库,命名为CMS.Common

引用:
Spring.Core
System.Web.MVC
System.Web.Abstractions
System.Web.Routing;

在里面创建一个类:
SpringControllerFactory:

Code
using System;
using System.Collections.Generic;
using System.Text;
using Spring.Core.IO;
using Spring.Objects.Factory;
using Spring.Objects.Factory.Xml;
using System.Web.Mvc;
using System.Web.Routing;
using System.IO;
using Spring.Context;
using Spring.Context.Support;

namespace CMS.Common
{
    /// <summary>
    /// 控制器工厂
    /// </summary>
    public class SpringControllerFactory : IControllerFactory
    {
        //private static log4net.ILog log = log4net.LogManager.GetLogger(typeof(SpringControllerFactory));

/// <summary>
        /// Default ControllerFactory
        /// </summary>
        private static DefaultControllerFactory defalutf = null;

public IController CreateController(System.Web.Routing.RequestContext requestContext, string controllerName)
        {
            //get spring context
            IApplicationContext ctx = ContextRegistry.GetContext();

if (ctx.ContainsObject(controllerName))
            {
                object controllerf = ctx.GetObject(controllerName);
                return (IController)controllerf;

}
            else
            {
                if (defalutf == null)
                {
                    defalutf = new DefaultControllerFactory();
                }

return defalutf.CreateController(requestContext, controllerName);

}

}

public void ReleaseController(IController controller)
        {
            //get spring context
            IApplicationContext ctx = ContextRegistry.GetContext();

if (!ctx.ContainsObject(controller.GetType().Name.Replace("Controller", "")))
            {
                if (defalutf == null)
                {
                    defalutf = new DefaultControllerFactory();
                }

defalutf.ReleaseController(controller);
            }
        }

}
}

1、新增加一个类库,命名为CMS.Controllers 用来存放MVC的控制器
引用:
System.Web.MVC
System.Web.Abstractions

新增加一个控制器

HomeController:

Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;

namespace CMS.Controllers
{
    public class HomeController : System.Web.Mvc.Controller
    {
        public ActionResult Index()
        {
            ViewData["Title"] = "用户中心 -- Haphere.com";

return View();
        }
    }
}

在CMS.MVCWeb网站中加入对CMS.Common和CMS.Controllers的引用

配置Global.asax
原本代码:

protected void Application_Start()
{
    RegisterRoutes(RouteTable.Routes);
}

新增代码:

Code
protected void Application_Start()
{
    ControllerBuilder.Current.SetControllerFactory(
                   typeof(CMS.Common.SpringControllerFactory));

RegisterRoutes(RouteTable.Routes);
}

删除CMS.MvcWeb网站下的Controllers文件夹。

配置完成!

源码下载

转载于:https://www.cnblogs.com/cjnmy36723/archive/2009/08/08/1542022.html

ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(四)——整合asp.net mvc...相关推荐

  1. ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(三)——NHibernate配置...

    1.在CMS.App新增XML配置文件web_nhibernate.xml并设置为"嵌入的资源" 2.在Web.config中<spring> -> <re ...

  2. 【Spring MVC学习】spring mvc入门示例

    之前进公司就直接使用spring mvc做项目了,并没有系统学习过,后来再回头去总结的时候发现我只是在项目中会使用,但是有关spring mvc的配置,还有注解什么的想起来会感觉很混乱,趁着这几天不忙 ...

  3. [错误总结]升级spring-boot->2.6.2|hiberate->5.4.33.Final|spring cloud->2021.0.0 |spring admin->2.4.1

    相关系列文章 Spring boot升级到2.3.2.Release和Spring framework升级到5.28.Release踩过的坑_keeppractice的博客-CSDN博客 Hibern ...

  4. 读书笔记:Pro ASP.NET Core MVC 2 [Chap4 C#重要语言特性]

    第四章 C#语言特性 内容: ?. ?? 格式化字符串 初始化器 Pattern Matching 扩展方法 lambda表达式 匿名类行 异步操作 获取名称 使用Empty模板创建ASP.NET C ...

  5. Spring MVC入门:Spring MVC是什么?

    Spring MVC是什么? Spring MVC 是一个模型 - 视图 - 控制器(MVC)的Web框架建立在中央前端控制器servlet(DispatcherServlet),它负责发送每个请求到 ...

  6. ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)

    目录 前言: 1.创建MVC项目 2.修改返回格式 3.创建[Web API]控制器 4.创建[HttpGet]访问接口 5.创建[HttpPost]访问接口 6.测试接口: 6.1.执行:点击[调试 ...

  7. java之spring mvc之初始spring mvc

    1. mvc : mvc框架是处理 http请求和响应的框架 2. mvc 做的事情有哪些: 将 url 映射到一个java的处理方法上 将表单数据提交到 java 类中 将后台 java 类处理的结 ...

  8. ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存

    ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存 hibernate  : Hibernate是一个持久层框架,经常访问物理数据库 ...

  9. Spring 5.0+Spring Boot+security+spring cloud oauth2+Redis整合详情,记录那些遇到的一些坑

    1.使用的技术以及版本号 JDK8.0 Spring 5.0 oauth2.0 redis2.0 2.项目采用MAVEN管理. pom文件中加入: < dependency > < ...

最新文章

  1. SQL Server 一些重要视图3
  2. linux内核kconfig objs,linux内核中Kconfig和Makefile 详解
  3. linux elf格式文件详细分析
  4. 稳定直播服务器主板,云直播服务器
  5. python1000个常用代码-Python常用代码(1)
  6. linux下php远程连接mysql_Linux下PHP远程连接Oracle数据库 | 系统运维
  7. Bash脚本教程之字符串操作
  8. php数据库操作类的调用优化,PHP PDO优化数据库操作类 多数据库驱动类
  9. 计算机组成原理2(PCI总线结构框图)
  10. mysql数据库用doc命令,myMySQL数据库怎么使用dos命令安装? MySQL数据库使用教程
  11. 2014第7周1Web安全概念学习
  12. mysql 原理~ 分区表
  13. 测试ai模糊软件,“马赛克视频”还原软件被疯传!实际测试后,效果差距太大!...
  14. 谷歌地球Google Earth打不开的解决办法
  15. 80.90后新手开网店,经验分享,神马不见得都是浮云!
  16. 平台计算机网课视频无法加载,微信电脑版视频无法播放怎么办?微信电脑版视频播放不了的解决方法...
  17. 漏洞风险评估:CVSS介绍及计算
  18. c++ leetcode 500-600
  19. 验证码登录开发----手机验证码登录
  20. NUCLEO-F767ZI以太网功能实现笔记本电脑不开盖开机

热门文章

  1. HTML窗口与对话框
  2. SharingSphere 源码解析 -- 真实SQL生成探索
  3. Spring源码解析 -- SpringWeb请求映射Map初始化
  4. echo 多行_分享laravel-echo-server广播服务搭建-Laravel
  5. Java中的引用数据类型-BigDecimal
  6. linux+cd英文全称,Linux命令英文全称
  7. 检测php源码函数版本,PHP通用检测函数集合
  8. 台电t30_数码:台电发布T30平板电脑,10.1英寸/p70处理器/4+64GB内存组合
  9. linux磁盘满了之后清理
  10. Oracle主库、备库redo日志管理