mvc

Spring MVC 跳转(2)-重定向

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-06 03:46:37
上一节我们学习了 springMVC forward方式的服务端转发,今天小博老师再跟大家介绍一下重定向方式的页面跳转。重定向分为两种情况,一种是不带参数,一种是带参数。先来看看不带参数的方式: 1. 使用ModelAndView return new ModelAndView("redirect:/product"); 这样就可以把请求 重定向 到/product路径注解的方法,如: 1. 返回 String return "redirect:/product"; 含义同ModelAndView方式,如: 接下来我们看看带参数的方式: 1. 手工拼接 return new ModelAndView("redirect:/product?company="+boweifeng); 手工拼接有个弊端,传中文可能会有乱码问题。 2. 使用RedirectAttributes自动拼接 其原理同手工拼接,RedirectAttribute会把添加的属性转码后附加到URL后。 1. 使用RedirectAttributes,但不拼接URL 我们这里使用了addFlashAttribute方法,这样在请求index,跳转到/product URL时,地址栏并不会携带参数。 其原理是,在对请求的重定向生效之前被临时存储(通常是在session中),并且在重定向之后被立即移除。 来源:

Spring MVC @CookieValue学习

浪尽此生 提交于 2019-12-06 03:45:06
我们已经学习了 SpringMVC 中的很多注解,比如SessionAttribute、ModelAttribute、RequestHeader等,今天我们再介绍一个 CookieValue 注解。从字面意思很容易理解,@CookieValue是用于读取Cookie值的。 @CookieValue有三个参数: 1. value:表示需要获取的参数名,例如: JSESSIONID。默认值为“”。 2. required:请求头cookie中是否必须带value指定的参数。默认值为true。如果设置为true,但请求头cookie中不存在,则会报错。如果设置为false,不存在返回null。 3. defaultValue:如果value指定的参数不存在,或者值为空,那么将使用该属性指定的默认值。默认值ValueConstants.DEFAULT_NONE。 使用方法和@RequestHeader类似,在controller的方法参数中使用该注解。示例如下: @Controller public class CookieController { @RequestMapping(value = "/cookieTest") public String getSessionId( @CookieValue(value = "boweifeng", required = true,

Android MVC之我的实现

倖福魔咒の 提交于 2019-12-06 02:02:30
做了一年多的Android开发,开始积累了一点Android开发方面的经验。所以想抽点时间总结归纳一下。 基本上所有的程序员,都有一种对美的追求。代码所谓的美来自於抽象。要追求怎样的美,怎样的抽象,取决於:工作的现况,程序员的专业能力,性格与自我的要求。最重要的是,将代码适度的抽象,进而转化为知识的积累,那是一趟自我不断提升的美好旅程。 这个程序使用了github上的一个开源的sidebar框架,作者为:Julian Chu (a.k.a walkingice) walkingice0204@gmail.com 项目的目录结构如图, MainActivity和AnimationLayout是sidebar的关键部分, workerService是业务逻辑模块,毫无疑问MainActivity和两个Fragment就是视图模块。 这样设计的目的主要是为了让视图和业务逻辑分离,所有的业务逻辑都在Service中,当Service中 处理完业务后,通过Broadcast通知Activity和Fragment改变UI,而Activity调用业务逻辑则通过Intent来 实现。 代码明细 MainActivity //初始化sidebar和Fragment组件 @Override public void onCreate(Bundle savedInstanceState) { super

Spring MVC 核心配置文件

≡放荡痞女 提交于 2019-12-05 23:25:19
我们已经了解了Spring MVC 的工作机制,以及核心dispatcherServlet的工作流程,接下来就可以配置一个 Spring MVC了。首先小博老师给大家介绍下Spring MVC的基本 配置文件 的部分核心配置内容。 <beans ……> <!-- 自动扫描的包名 --> <context:component-scan base-package="com.app,com.core,JUnit4" ></context:component-scan> <!-- 默认的注解映射的支持 --> <mvc:annotation-driven /> <!-- 视图解释类 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 --> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> </bean> <context

node.js使用redis来存储session数据

只愿长相守 提交于 2019-12-05 10:54:37
node.js使用redis来存储session数据: 首先node.js需要安装 redis 驱动(前提是已经有redis的服务端),安装步骤如下: $npm install redis 参考资料: https://npmjs.org/package/redis 然后,需要安装 connect-redis 模块,安装步骤如下: $npm install connect-redis 参考资料: https://npmjs.org/package/connect-redis 安装完以上两个模块呢,就是如何在node.js使用的问题了。 var RedisStore = require('connect-redis')(express); app.user(express.cookieParser()); app.user(express.session({ secret:'password', store:new RedisStroe({ host:'127.0.0.1', port:'6379' db:'mydb' //此属性可选。redis可以进行分库操作。若无此参数,则不进行分库 }) })); 运行一下程序,req.sessionID能正常获取到sessionID,并存进了redis里边,如图: 转载自: http://www.marser.cn/index.php

JavaScript MVC框架backbone.js初探

牧云@^-^@ 提交于 2019-12-05 05:37:27
什么是backbone backbone不是脊椎骨,而是帮助开发重量级的javascript应用的框架。 主要提供了3个东西:1、models(模型) 2、collections(集合) 3、views(视图) backbone.js文件本身很小,压缩后只有5.3KB,作为一个框架级别的核心JS文件,这个数字很可怕。 除此之外,这个JS还必须依赖于另一个JS文件:underscore.js(包含许多工具方法,集合操作,js模板等等)。 简介 用Backbone.Model表示应用中所有数据,models中的数据可以创建、校验、销毁和保存到服务端。 当models中值被改变时自动触发一个"change"事件、所有用于展示models数据的views都会侦听到这个事件,然后进行重新渲染。 Backbone.Collection和我们平时接触的JAVA集合类相似,具有增加元素,删除元素,获取长度,排序,比较等一系列工具方法,说白了就是一个保存models的集合类。 Backbone.View中可以绑定dom el和客户端事件。页面中的html就是通过views的render方法渲染出来的,当新建一个view的时候通过要传进一个model作为数据,例如: Js代码: var view = new EmployeeView({model:employee});

[转]Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注...

萝らか妹 提交于 2019-12-04 19:31:16
第一章 Spring 更新到 3.0 之后,其 MVC 框架加入了一个非常不错的东西 —— 那就是 REST 。它的开放式特性,与 Spring 的无缝集成,以及 Spring 框架的优秀表现,使得现在很多公司将其作为新的系统开发框架。大象根据实际的项目经验,以之前 SSH2 例子为基础,对其进行一次大改造, 详细的为大家讲解如何实现 SSM3 全注解式的开发。 这次大象将采取两种构建方式,一是很多人喜欢用的 MyEclipse ,另一个,则是用 Eclipse+Maven 。这一篇,将主要讲解开发环境设置与 Maven 构建方式。 1 、开发环境 JDK1.6.0_18 Eclipse3.2.1 MyEclipse5.1.0 Eclipse-JEE-HELIOS-SR2 Maven3.0.1 m2eclipse0.12.1.20110112-1712 Tomcat6.0.10 maven-jetty-plugin6.1.26 MySQL5.0.27 Navicat Lite for MySQL 8.1.20 每个人的开发环境可能会有差异,但有一点我需要说明的是, JDK 的版本不得低于 1.5 ,因为用到了很多 1.5 版才支持的新特性。 Tomcat 、 Jetty 、 Maven 和 MySQL 请不要低于我所用的版本,因为我没在其它的版本上进行测试。 Navicat 则是

iOS开发,对低耦合高内聚的理解

筅森魡賤 提交于 2019-12-04 15:53:55
耦合并不是软件开发中的专用语言,在初中和高中物理中就有电磁学方面的耦合,还有印象中机械设备之间也有耦合的概念,所以软件开发中的耦合只是来源于生活,用之于软件工程学。 就拿机械设备中的耦合来类比说明吧,我们都知道长途货运车,把车头和车身分别想象成两个不同功能的模块,车头的发动机负责驱动,车身负责装载货物,两个模块之间应该是较低的耦合度,只要车头和车身之间有一个坚固链接的铁轴,这是它们之间耦合度的一个主要结构,再附加上一些电路线之类的零件用以从车头控制车身的灯光,这基本就是两者之间的低耦合的体现;而车身和车头自身则要高内聚,车身主要提供宽敞的空间来存放货物,车头内部复杂的电路系统和发动机驱动,用来给整个车子提供动力,以及控制电路系统。 那么在回到iOS开发过程中,低耦合和高内聚的体现,现在有一个自定义的UITableViewCell,用于显示一个用户发布的内容,显示的界面包括用户名username、时间time、头像header、发布的内容content、点赞的数量like,所以这个自定义Cell包括的UI元素如下, @interface CustomTableViewCell:UITableViewCell @property (nonatomic, strong) UILabel * timeLabel ; @property (nonatomic, strong) UILabel

从算法+数据结构到MVC

故事扮演 提交于 2019-12-04 09:10:21
-------------------- Pascal之父——Nicklaus Wirth,提出了著名公式:“算法+数据结构=程序”。 Nicklaus Wirth,1934年出生于瑞士,1963年在加州大学伯克利分校取得博士学位。取得博士学位后直接被以高门槛著称的斯坦福大学聘到刚成立的计算机科学系工作。在斯坦福大学成功的开发出Algol W以及PL360后,Nicklaus Wirth于1967年回到祖国瑞士,第二年苏黎世工学院他创建与实现了Pascal语言——当时世界上最受欢迎的语言之一。 后来他的学生Philipe Kahn毕业后和Anders Hejlsberg(Delphi之父)创办了Borland公司靠Turbo Pascal起家,很快成为了将Borland发展成为全球最大的开发工作厂商,这一切都不得不说要归工于PASCAL语言的魅力。PASCAL已经影响了整整几代的程序员,Nicklaus Wirth的思想还将会继续指引现在和以后的程序员前进的方向。 在九几年,C/S编程也是风光无限的。 后来,Java出现了,以及微软为了应对Java而推出了.Net,使得Delphi的市占率越来越少。 而今的Delphi:https://www.embarcadero.com/cn/products/rad-studio -------------------- MVC模式

如何让Wheel预生成Class

一世执手 提交于 2019-12-04 06:10:59
有话说在前 在上一篇Wheel实例教程 MVC框架Wheel简单实例 中,我们介绍了如何使用Wheel创建一个简单的web应用,但是如果按照上一篇的内容实现的话我们所有的代理类(比如事务的注入,依赖注入,请求转发)都是在运行是生成的,那么这一节将采用另一种方式,就是将代理类预先生成在war包中,这样在server中运行我们的项目的时候就无需动态创建了,这样就非常快速和节省性能。当然采用这种方式我们需要采用mavn来构建的,所以你得有点maven基础才成。 global.properties 我们在上一篇文章中有一行配置的global.properties如下: generator.class.runtime=true 首先我们要将这个值改成false,这就是告诉程序,我不要在运行的时候生成了。 pom.xml 在pom.xml中添加如下内容: <build> <plugins> <plugin> <groupId>cn.wensiqun</groupId> <artifactId>wheel-maven-plugin</artifactId> <version>0.1-SNAPSHOT</version> <executions> <execution> <phase>compile</phase> <goals> <goal>create-proxy-class</goal> <