搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (五)测试你的成果

简介: 本篇文章:主要介绍怎么使用这套框架。在做好配置等前期工作后。我们就是要与Mvc进行融合了。由于Mvc本人也是个初级入门者。对于这部分的研究还不是很深入。但是基本应用已经可以了。下面就让我们开始一个简单的应用实例吧: 第一步:添加control 在web项目中的controls文件夹下面添加一个UserController.cs文件。

          本篇文章:主要介绍怎么使用这套框架。在做好配置等前期工作后。我们就是要与Mvc进行融合了。由于Mvc本人也是个初级入门者。对于这部分的研究还不是很深入。但是基本应用已经可以了。下面就让我们开始一个简单的应用实例吧:

第一步:添加control

在web项目中的controls文件夹下面添加一个UserController.cs文件。【这里可以把Controls单独放到一个项目中,这里只是搭建框架的演示,就不做那么复杂了】

添加代码如下所示:

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif 代码
 
  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using Spring.Context.Support;
using MyWeb.WebTemp.IBLL;

namespace MyWeb.WebTemp.Controllers
{
public class UserController : Controller
{
//
// GET: /User/
private IUserService userService;

public IUserService UserService
{
get { return this .userService; }
set { this .userService = value; }
}

public ActionResult Index()
{
var webApplicationContext
=
ContextRegistry.GetContext()
as WebApplicationContext;
UserService
=
webApplicationContext.GetObject(
" UserService " ) as IUserService; // 从spring配置中获取Userservice
IList < MyWeb.WebTemp.Model.User > users = UserService.GetAllUsers();
ViewData[
" Users " ] = users;
return View( " ShowAllUsers " );
}

}
}

当然要添加相关的引用。这就不用说了。懂mvc的一看就知道是什么意思。

 

第二步:添加显示的view

在web项目下的Views文件夹下添加User文件夹。然后添加一个用于显示的ShowAllUsers.aspx   view。

view的代码如下:

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif 代码
 
  
<% @ Page Title = "" Language = " C# " MasterPageFile = " ~/Views/Shared/Site.Master " Inherits = " System.Web.Mvc.ViewPage " %>

< asp:Content ID ="Content1" ContentPlaceHolderID ="TitleContent" runat ="server" >
ShowAllUsers
</ asp:Content >

< asp:Content ID ="Content2" ContentPlaceHolderID ="MainContent" runat ="server" >

< h2 > ShowAllUsers </ h2 >
< table >
< tr >
< td > 用户名 </ td >< td > 密码 </ td >
</ tr >

<% IList < MyWeb.WebTemp.Model.User > userList = ViewData[ " Users " ] as List < MyWeb.WebTemp.Model.User > ; %>
<% for ( int i = 0 ; i < userList.Count; i ++ ) %>
<% { %>
< tr >
< td > <% = userList[i].Name %> </ td >
< td > <% = userList[i].PassWord %> </ td >
</ tr >
<% } %>
</ table >

</ asp:Content >

第三步:在首页中添加一个连接到我们的view

下面是Home文件夹下index.aspx代码:

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif 代码
 
  
<% @ Page Language = " C# " MasterPageFile = " ~/Views/Shared/Site.Master " Inherits = " System.Web.Mvc.ViewPage " %>

< asp:Content ID ="indexTitle" ContentPlaceHolderID ="TitleContent" runat ="server" >
Home Page
</ asp:Content >

< asp:Content ID ="indexContent" ContentPlaceHolderID ="MainContent" runat ="server" >
< h2 > <% = Html.Encode(ViewData[ " Message " ]) %> </ h2 >
< p >
To learn more about ASP.NET MVC visit
< a href ="http://asp.net/mvc" title ="ASP.NET MVC Website" > http://asp.net/mvc </ a > .
</ p >
< hr />
< p >
To my page
< a href ="User/Index" title ="ASP.NET MVC Website" > show all users </ a > .
</ p >
< hr />
</ asp:Content >

 

 

运行,然后点击连接,最后的效果如下:

img_5fd0fcff100e64f3294df6e6477b441d.png

点击连接后:

img_03988f560e90ce6eb633833be4abfb0b.png

 

最终我们的结果就是这样子。最后的结果虽然不是很绚丽。但是整个框架已经有了。

 

项目展望:

我们可以将controls放到一个单独的项目中。然后可以设置一个工厂类来获取业务逻辑层的实体对象。

另外在ui层面我们可以采用extjs等ui框架,让页面更加绚丽。

拓展阅读:Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 1---准备

Extjs学习好去处:

【原】Ext2.2学习系列:ExtJS与.NET结合开发实例--全部Ext2.2示例--索引贴

 

相关下载

项目中用到的:spring.net Nhibernate控件下载

项目:源代码下载

 

文章索引:

搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (一)

搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (二)创建你的项目

搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (三)实现数据库接口层和业务逻辑层

搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (四)配置全攻略

搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (五)测试你的成果

搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (六)写在后面的话

目录
相关文章
|
3月前
|
Java 测试技术 开发者
必学!Spring Boot 单元测试、Mock 与 TestContainer 的高效使用技巧
【10月更文挑战第18天】 在现代软件开发中,单元测试是保证代码质量的重要手段。Spring Boot提供了强大的测试支持,使得编写和运行测试变得更加简单和高效。本文将深入探讨Spring Boot的单元测试、Mock技术以及TestContainer的高效使用技巧,帮助开发者提升测试效率和代码质量。
400 2
|
6天前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
28 10
|
5月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
27天前
|
设计模式 前端开发 Java
步步深入SpringMvc DispatcherServlet源码掌握springmvc全流程原理
通过对 `DispatcherServlet`源码的深入剖析,我们了解了SpringMVC请求处理的全流程。`DispatcherServlet`作为前端控制器,负责请求的接收和分发,处理器映射和适配负责将请求分派到具体的处理器方法,视图解析器负责生成和渲染视图。理解这些核心组件及其交互原理,有助于开发者更好地使用和扩展SpringMVC框架。
41 4
|
2月前
|
Java 测试技术 API
详解Swagger:Spring Boot中的API文档生成与测试工具
详解Swagger:Spring Boot中的API文档生成与测试工具
62 4
|
2月前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
165 2
|
2月前
|
Java 测试技术 数据库连接
使用Spring Boot编写测试用例:实践与最佳实践
使用Spring Boot编写测试用例:实践与最佳实践
121 0
|
3月前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
72 1
|
3月前
|
JSON 前端开发 Java
SSM:SpringMVC
本文介绍了SpringMVC的依赖配置、请求参数处理、注解开发、JSON处理、拦截器、文件上传下载以及相关注意事项。首先,需要在`pom.xml`中添加必要的依赖,包括Servlet、JSTL、Spring Web MVC等。接着,在`web.xml`中配置DispatcherServlet,并设置Spring MVC的相关配置,如组件扫描、默认Servlet处理器等。然后,通过`@RequestMapping`等注解处理请求参数,使用`@ResponseBody`返回JSON数据。此外,还介绍了如何创建和配置拦截器、文件上传下载的功能,并强调了JSP文件的放置位置,避免404错误。
|
4月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理