Himu\’s Attempt at Blogging

Tidbits from my thoughts

Archive for the ‘Java’ Category

Multiple Choices in Spring Injection – @Resource, @Autowired and @Inject

leave a comment »

I just came up with this wonderful blog post by David Kessler. Kudos David!

Spring Injection with @Resource, @Autowired and @Inject.

Advertisements

Written by mhimu

April 5, 2012 at 1:35 pm

Posted in Java, spring

Tagged with , , ,

Spring MVC Error Handling

leave a comment »

This is not a tutorial of any sort. I’m adding this post to record the error-handling techniques of Spring MVC.

Catching

Errors can be caught in two places:

  1. Inside a validator (extended from Validator)
  2. Inside a controller

1. Validator

In the validate() overridden method, we can use two approaches:

a) Using the errors object:

errors.rejectValue(field, code, defaultMessage) → for field errors
errors.reject(code, defaultMessage)  → for global/general errors

b) Using ValidationUtils.rejectXxx(…) methods

2. Controller

In the onSubmit(request, response, command, BindException errors) overridden method:

errors.rejectValue(field, code, defaultMessage) → for field errors
errors.reject(code, defaultMessage)  → for global/general errors

return new ModelAndView(getFormView(), errors.getModel())

getFormView() returns us to the input form. The call to errors.getModel() is crucial here.

Reporting with JSP

<form:form command=”commandNameIfChangeFromDefault”>
<span class=”…”>
<spring:hasBindErrors name=”command”>
<c:forEach items=”${errors.allErrors} var=”error”> <!– or errors.globalErrors or errors.fieldErrors –>
<spring:message code=”${error.code}” text=”${error.defaultMessage}”/>
</c:forEach>
</spring:hasBindErrors>
</span>
</form:form>

Written by mhimu

September 27, 2010 at 3:41 pm

Posted in Java, spring

Spring MVC Tutorial – Using Tiles 2

with 7 comments

This post is also based on my previous work:

  1. Spring MVC Tutorial – Hibernate Integration – build a Spring MVC app using Hibernate from the ground up.
  2. Spring MVC Tutorial – Paging through Hibernate and Selection Handling – add table/list browsing support utilizing paging in Hibernate, add a page navigation bar, add checkbox handling against table rows.

Here I will not add any new functionality – just move the view technology to Tiles 2 that comes bundled with Spring complete distribution.

The new completed project is available as ibank-v3.zip.

Till now, I have repeated header/footer/menu code in all the JSP files. Tiles 2 can be used to remove that repetition. Let’s begin.

Read the rest of this entry »

Written by mhimu

December 9, 2009 at 2:53 pm

Posted in Java, spring

Tagged with , , ,

Spring MVC Tutorial – Paging Through Hibernate and Selection Handling

with 14 comments

In this installment, I’m expanding the project done in Spring MVC Tutorial – Hibernate Integration to include:

  1. Browsing/paging through a table with a navigation bar found in various forum sites and ASP.NET GridView (e.g. First 3 4 5 6 7 Last)
  2. Showing checkboxes against each row of the table for selective action

The related project code download is ibank-v2.zip

Read the rest of this entry »

Written by mhimu

November 26, 2009 at 3:31 pm

Spring MVC Tutorial – Hibernate Integration

with 43 comments

After a long gap…

For introduction to Spring MVC in particular, see Spring MVC Tutorial and Spring MVC Tutorial 2.

The project done in STS can be downloaded from my Box.net account. The project libraries you will have to edit to match your setup.

Along with learning to integrate Hibernate, I’ll be introducing some new pieces of Spring MVC.
Read the rest of this entry »

Written by mhimu

November 16, 2009 at 2:44 pm

Posted in Java, spring

Tagged with , , ,

Active Directory Authentication using Java/JNDI

with 20 comments

I’ve successfully performed AD authentication using JNDI from Java. It is almost a copy of the code found in Mauricio Rojas Blog. Thanks Mauricio!

The ADAuthenticator class tries to connect to the AD using the given credentials and retuns a Map containing some information of the user if authentication succeeds. It can be instantiated to authenticate to a default AD or a specific AD in the constructor.

Read the rest of this entry »

Written by mhimu

March 18, 2009 at 1:20 pm

Posted in Java

Tagged with ,

Java Date is so stupid

with 2 comments

Everytime I try to work with java.util.Date, I get frustrated. Why is the API so cumbersome?

Have you ever tried to find the difference between to Date values? There is nothing except a millisecond value. I don’t want milliseconds! I want rounded days and the timestamp comes to taunt me!

Why can’t you simply add to or subtract from a Date? I don’t want to handle multiple Calendar objects when working with multiple Date values simultaneously. It just bloats the code!

I cannot instantiate a specific Date if I want to. Go through Calendar again? But why??

Maybe you will tell me about various design issues. But I don’t want to bother. I just want a simple interface for manipulating Date values.

Written by mhimu

December 19, 2007 at 1:59 pm

Posted in Java

Tagged with ,