一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

深入理解Spring MVC 思想

目录 一、前言 二、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 /> 到底做了什么工作 二十、 本文中springMVC.xml配置文件是核心,这里给一个下载地址 说明:本作者是文章的原创作者,转载请注明出处:本文地址:http://elf8848.iteye.com/blog/875830   一、前言: 为开发团队选择一款优秀的MVC框架是件难事儿,在众多可行的方案中决择需要很高的经验和水平。你的一个决定会影响团队未来的几年。要考虑方面太多: 1、简单易用,以提高开发效率。使小部分的精力在框架上,大部分的精力放在业务上。 2、性能优秀,这是一个最能吸引眼球的话题。 3、尽量使用大众的框架(避免使用小众的、私有的框架),新招聘来的开发人员有一些这方面技术积累,减低人员流动再适应的影响。 如果你还在为这件事件发愁,本文最适合你了。选择Spring MVC吧。 Spring MVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,实现了对Struts 2的超越。现在越来越多的开发团队选择了Spring MVC。 Struts2也是非常优秀的MVC构架,优点非常多比如良好的结构,拦截器的思想,丰富的功能。但这里想说的是缺点,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降,应避免使用这些功能。而Struts2的多层拦截器、多实例action性能都很好。可以参考我写的一篇关于Spring MVC与Struts2与Servlet比较的文章《Struts2、SpringMVC、Servlet(Jsp)性能对比 测试》 Spring3 MVC的优点: 1、Spring3 MVC使用简单,学习成本低。学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。 2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分) 3、Spring3 MVC的灵活是你无法想像的,Spring框架的扩展性有口皆碑,Spring3 MVC当然也不会落后,不会因使用了MVC框架而感到有任何的限制。 Struts2的众多优点: 1、老牌的知名框架,从Struts1起积累了大量用户群体。技术文档丰富。 2、其它方面略…   (呵呵,是不是不公平?) Spring的官方下载网址是:http://www.springsource.org/download    […]

龙生   06 Aug 2017
View Details

laravel5.3搭建过程中出现问题

composer install命令出错-->

解决方法:因为镜像使用用的是http,而原地址是需要https,所以配置下关掉https就好了。

  报错信息:

解决方案:修改php.ini开启openssl拓展   Laravel 出现"RuntimeException inEncrypter.php line 43: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths."问题的解决办法——> 首先在cmd命令行下定位到项目所在的根目录下,接着输入:

这时候项目根目录下的.env文件里的APP_KEY应该会有值了: 若没有,将上面的key输入进去 from:http://www.cnblogs.com/vincebye/p/5947739.html

龙生   06 Aug 2017
View Details

windows下创建没有文件名只有后缀的文件

Windows下直接创建没有文件名只有后缀的文件是无法实现的,会提示如图 好在有Cmd 开始-运行-键入cmd,打开cmd窗口 此时的cmd窗口路径是C:\user\wuyang>   键入以下(不包括括号内信息): copy con .access  (回车) (按Ctrl+Z 回车) 屏幕提示如下: C:\user\wuyang>copy con .access ^Z 已复制         1 个文件。 如图 再看下只有后缀的文件 此时回到桌面,双击我的电脑上进入C:\user\wuyang 即可看到你想要的文件  ".access"   from:http://blog.sina.com.cn/s/blog_7fb6dadd0101dtbn.html

龙生   06 Aug 2017
View Details

spring四种依赖注入方式

平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做。 spring有多种依赖注入的形式,下面仅介绍spring通过xml进行IOC配置的方式: Set注入 这是最简单的注入方式,假设有一个SpringAction,类中需要实例化一个SpringDao对象,那么就可以定义一个private的SpringDao成员变量,然后创建SpringDao的set方法(这是ioc的注入入口): Java代码   package com.bless.springdemo.action; public class SpringAction {         //注入对象springDao     private SpringDao springDao;         //一定要写被注入对象的set方法         public void setSpringDao(SpringDao springDao) {         this.springDao = springDao;     }         public void ok(){         springDao.ok();     } } 随后编写spring的xml文件,<bean>中的name属性是class属性的一个别名,class属性指类的全名,因为在SpringAction中有一个公共属性Springdao,所以要在<bean>标签中创建一个<property>标签指定SpringDao。<property>标签中的name就是SpringAction类中的SpringDao属性名,ref指下面<bean name="springDao"…>,这样其实是spring将SpringDaoImpl对象实例化并且调用SpringAction的setSpringDao方法将SpringDao注入: Java代码   <!--配置bean,配置后该类由spring管理-->     <bean name="springAction" class="com.bless.springdemo.action.SpringAction">         <!--(1)依赖注入,配置当前类中相应的属性-->         <property name="springDao" ref="springDao"></property>     </bean> <bean name="springDao" class="com.bless.springdemo.dao.impl.SpringDaoImpl"></bean> 构造器注入 这种方式的注入是指带有参数的构造函数注入,看下面的例子,我创建了两个成员变量SpringDao和User,但是并未设置对象的set方法,所以就不能支持第一种注入方式,这里的注入方式是在SpringAction的构造函数中注入,也就是说在创建SpringAction对象时要将SpringDao和User两个参数值传进来: Java代码   public class SpringAction {     //注入对象springDao     private SpringDao springDao;     private User user;     public SpringAction(SpringDao springDao,User user){         this.springDao = springDao;         this.user = user;         System.out.println("构造方法调用springDao和user");     }         public void save(){         user.setName("卡卡");         springDao.save(user);     } } 在XML文件中同样不用<property>的形式,而是使用<constructor-arg>标签,ref属性同样指向其它<bean>标签的name属性: Xml代码   <!--配置bean,配置后该类由spring管理-->     <bean name="springAction" class="com.bless.springdemo.action.SpringAction">         <!--(2)创建构造器注入,如果主类有带参的构造方法则需添加此配置-->         <constructor-arg ref="springDao"></constructor-arg>         <constructor-arg ref="user"></constructor-arg>     </bean>         <bean name="springDao" class="com.bless.springdemo.dao.impl.SpringDaoImpl"></bean>          <bean name="user" class="com.bless.springdemo.vo.User"></bean>   解决构造方法参数的不确定性,你可能会遇到构造方法传入的两参数都是同类型的,为了分清哪个该赋对应值,则需要进行一些小处理: 下面是设置index,就是参数位置: Xml代码   <bean name="springAction" class="com.bless.springdemo.action.SpringAction">         <constructor-arg index="0" ref="springDao"></constructor-arg>         <constructor-arg index="1" ref="user"></constructor-arg>     </bean>   另一种是设置参数类型: Xml代码   <constructor-arg type="java.lang.String" ref=""/> 静态工厂的方法注入 静态工厂顾名思义,就是通过调用静态工厂的方法来获取自己需要的对象,为了让spring管理所有对象,我们不能直接通过"工程类.静态方法()"来获取对象,而是依然通过spring注入的形式获取: Java代码   package com.bless.springdemo.factory; import com.bless.springdemo.dao.FactoryDao; import com.bless.springdemo.dao.impl.FactoryDaoImpl; import com.bless.springdemo.dao.impl.StaticFacotryDaoImpl; public class DaoFactory {     //静态工厂     public static final FactoryDao getStaticFactoryDaoImpl(){         return new StaticFacotryDaoImpl();     } } 同样看关键类,这里我需要注入一个FactoryDao对象,这里看起来跟第一种注入一模一样,但是看随后的xml会发现有很大差别: Java代码   […]

龙生   05 Aug 2017
View Details

浅谈依赖注入

最近几天在看一本名为Dependency Injection in .NET 的书,主要讲了什么是依赖注入,使用依赖注入的优点,以及.NET平台上依赖注入的各种框架和用法。在这本书的开头,讲述了软件工程中的一个重要的理念就是关注分离(Separation of concern, SoC)。依赖注入不是目的,它是一系列工具和手段,最终的目的是帮助我们开发出松散耦合(loose coupled)、可维护、可测试的代码和程序。这条原则的做法是大家熟知的面向接口,或者说是面向抽象编程。 关于什么是依赖注入,在Stack Overflow上面有一个问题,如何向一个5岁的小孩解释依赖注入,其中得分最高的一个答案是: “When you go and get things out of the refrigerator for yourself, you can cause problems. You might leave the door open, you might get something Mommy or Daddy doesn’t want you to have. You might even be looking for something we don’t even have or which has expired. What you should be doing is stating a need, “I need something to drink with lunch,” and then we will make sure you have something when you sit […]

龙生   05 Aug 2017
View Details

从 Win10 文件资源管理器左侧栏中删除 OneDrive

认识 Windows 10 文件资源管理器中的 OneDrive。 单击启动任务栏上的“文件资源管理器”,它打开后可以在左侧导航栏里看到 OneDrive。 对于使用 OneDrive 云服务的人来说,这个链接按钮当然很方便; 但是对于不使用的人来说,它就有点碍事,使得资源列表整个被下移了。 我们开始着手删除它。 按 Ctrl + q 组合键,调用小娜实施应用搜索:在搜索框中输入:regedit;小娜在上方显示出“最佳匹配”,我们直接按下回车。 这样就启动了注册表编辑器。 它可是老朋友了,上世纪的 Windows 性能调整,可离不开它了。 我们按下 Ctrl + f 组合键,弹出查找对话框,我们以下字符串中的花括号里面的内容粘贴进去,也就是下面粗斜体的部分: HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6} 然后单击“查找下一个”按钮。 经过一段时间的搜索,注册表编辑器定位到我们要查找的位置。 再往右边看,有个 System.IsPinnedToNameSpaceTree 的 DWORD,它的默认值是 1。为了从 Windows 10 的文件资源管理器中让 OneDrive 消失,我们把它改为 0 。 立刻生效,我们再打开文件资源管理器,左侧导航栏中已经没有 OneDrive 的条目了。 可对比第 1 步骤中的图。 如果想把 OneDrive 的图标再恢复回来,那在第 6 步骤中,把那个 0 改为 1就可以了。 from:http://jingyan.baidu.com/article/154b4631739cd228cb8f415f.html?qq-pf-to=pcqq.c2c&_t_t_t=0.5240869508187846

龙生   04 Aug 2017
View Details

Windows系统大文件夹集合

C:\Windows\System32\DriverStore C:\Windows\WinSxS C:\Windows\Installer

龙生   03 Aug 2017
View Details

启用Win10中Administrator超管账户

cmd net user administrator /active:yes  

龙生   03 Aug 2017
View Details

在Eclipse中如何项目重新编译、清理缓存

在Java web项目中经常出现重命名一个Java文件,最后不能运行,原因是tomcat服务器有缓存。解决办法是进行clean。  在一个项目中,如果我们想要对全部类文件及配置文件进行重新编译,在Eclipse可以采取如下办法: 在Eclipse下,选中Project下的Clean一项,进入之后可以看到Clean all projects选后点“OK”就可以了。这时我们再打开Eclipse中用来保存编译文件的classes文件就可以看到刚才编译的。   from:http://blog.csdn.net/gao1440156051/article/details/53517197

龙生   02 Aug 2017
View Details

Eclipse中web项目部署至Tomcat步骤

Eclipse的web工程至Tomcat默认的部署目录是在工程空间下,本文旨在将部署目录改为Tomcat安装目录,并解决依赖包输出问题。 1.在Eclipse中添加Tomcat服务器。 2.将web工程发布至tomcat: 选择刚添加的Tomcat: 此时Eclipse将自动生成Servers工程: 3.在Servers视图,Remove删除刚刚发布的项目: 4.打开Tomcat服务器配置项: 5.修改以下两个配置项,Tomcat保持启动状态,否则Server Locations一栏变灰色,不可用: 6.配置lib输出。 项目右键: 点击下一步,选中需要随项目发布到tomcat的包,完成确认操作。 7.修改工程下的.classpath文件,将如下配置项提至最前面,否则发布项目时,先前发布到WEB-INF里面的文件将被覆盖: 8.重新发布项目即可。   from:http://blog.csdn.net/lucklq/article/details/7621807

龙生   02 Aug 2017
View Details
1 175 176 177 282