分类目录归档:java

Spring3 mvc方法入参的介绍

来源: http://flyer2010.iteye.com/blog/1294402

Spring MVC 框架中你可以按任意顺序定义请求处理方法的入参(除了 Errors 和 BindingResult 必须紧跟在命令对象/表单参数后面以外),Spring MVC 会根据反射机制自动将对应的对象通过入参传递给请求处理方法。这种机制让开发者完全可以不依赖 Servlet API 开发控制层的程序,当请求处理方法需要特定的对象时,仅仅需要在参数列表中声明入参即可,不需要考虑如何获取这些对象,下面列举下spring mvc支持的处理方法参数。

Continue reading Spring3 mvc方法入参的介绍

Spring3 MVC处理方法返回值的可选类型

来源:http://flyer2010.iteye.com/blog/1294400

spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。下面将对具体的一一进行说明:
ModelAndView

@RequestMapping(“/show1”)
public ModelAndView show1(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView(“/demo2/show”);
mav.addObject(“account”, “account -1”);
return mav;
}

通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 ,
使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。
调用addObject()方法将值设置到一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类,
具体请看类。

Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。

Continue reading Spring3 MVC处理方法返回值的可选类型

spring3.1 mvc常用的注解

来源: http://flyer2010.iteye.com/blog/1294399

spring的注解有很多,今天主要对如下几个spring mvc常用的注解进行一个介绍。
@Controller
@Controller 负责注册一个bean 到spring 上下文中,bean 的ID 默认为类名称开头字母小写,你也可以自己指定,如下
方法一:
@Controller
public class TestController {}

方法二:
@Controller(“tmpController”)
public class TestController {}

@RequestMapping

Continue reading spring3.1 mvc常用的注解

Hibernate 3深度解析

来源: http://www.ibm.com/developerworks/cn/java/j-lo-hibernate3/index.html

Hibernate 作为 Java ORM 模式的优秀开源实现, 当下已经成为一种标准,为饱受 JDBC 折磨的 Java 开发者带来了“福音。快速的版本更新,想开发者所想,Hibernate 的开发团队俨然就是我们开发者的知音呀。随着 Hibernate 的用户群的越来越壮大,Hibernate 的功能也变得更加强大和健硕起来,下面就对于我们比较常用和关心的一些内容做一些比较深入的探讨,我们的宗旨就是不但会灵活应用,还能知其所以然,不要求大家一定要把 Hibernate 的原理弄的很清楚,但其中一些好的模式,好的设计方法及其中重要功能的实现原理和方法还是对我们很有帮助的。我们将会从 Hibernate 的对象关系映射,Hibernate 的事务处理,Hibernate 对大数量的处理方法以及 Hibernate 根据不同情况怎样来调整性能等方面来和大家共同探讨。下面我们开始讲解 Hibernate 的对象关系映射。

Continue reading Hibernate 3深度解析

用Hadoop MapReduce进行大数据分析

来源:http://www.ibm.com/developerworks/cn/java/j-javadev2-15/index.html

Google 在 2001 年发布图像搜索功能时,只有 2.5 亿索引图像,不到 10 年,这个巨大的搜索功能已经可以检索超过 100 亿个图像了,每分钟有 35 小时的内容上传到 YouTube。据称,Twitter 每天平均处理 5500 万 tweet。今年早些时候,搜索功能每天记录 6 亿条查询记录。 就是我们讨论大数据的意义所在。

Continue reading 用Hadoop MapReduce进行大数据分析

spring3.1.1 mvc使用注解搭建hello world

使用spring3.1.1中的mvc搭建项目,写一个hello world出来。

看了两天官方文档,不管好坏,就是组织的比较零散,不能有序的给人一个项目基本的轮廓。而且里面的例子也不是最佳实践。

开发工具是Eclipse 3.7,服务器是tomcat7,用的是jee3.0标准,新建一个 Dynamic Web Project,随便命名为cms。

Continue reading spring3.1.1 mvc使用注解搭建hello world

温故而知新-java Exception的设计与正确使用

当工作了一段时间,慢慢积累出经验,再回顾一些基础的时候,往往可以理解的更加深入,并由此想到自己以前的一些场景案例是可以更优雅的。

做java没多久,转了前端,不过并没有全部丢弃java,反而写多了js以后,惠及java,有了不同的感受,莫非是殊途同归么。

或许过了N久,再回来看这时候的记录,又有不同感受。

Continue reading 温故而知新-java Exception的设计与正确使用

用Jsoup对用户输入内容的HTML安全过滤

在网站使用input或textarea提供给用户可输入内容的功能,比如发帖子,发文章,发评论等等。这时候需要后端程序对输入内容作安全过滤,比如<script>等可造成安全隐患的标签。

java中有个开源包叫Jsoup,本身用来解析html,xml文档的,特点是可以使用类似jquery的选择权语法。

最近在解决内容安全过滤的时候,通过google发现Jsoup通过自定义Whitelist(安全标签白名单)提供了这样的功能,非常好用。

Continue reading 用Jsoup对用户输入内容的HTML安全过滤

被忽视的servlet filter配置参数dispatcher

最近项目遇到一种情况,偶坚持index.jsp采用forward跳转到action,而另一位同事发现这种方式没进入他写的一个filter,导致出现一些未被过滤的问题,于是被改成redirect方式,以便进入过滤器。

访问首页被redirect,懂的自然懂,相当于每次访问首页发了两次请求,对于首页这种访问量相当大的页面,相当不利。

其实我们都忽视了filter一个配置参数:dispatcher,因为默认filter只过滤拦截redirect request , 对于forward(服务器端跳转)不处理。而dispatcher就是解决问题之道。

dispatcher的描述如下:

Element : dispatcher
Data Type : string
Enumerated Values :
– FORWARD
– INCLUDE
– REQUEST
– ASYNC
– ERROR

可用值有5个,有经验的一看就明白,所以知道这些以后,项目里面的问题可以很容易解决掉,只需要配置如下即可:

<filter-mapping>
    <filter-name>test</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <!-- 可以配置多个dispatcher -->
</filter-mapping>