Are You Recruiter/Hiring Manager?
Cloud-based Candidate Screening | Online Tests
PMP 1600 Questions
PMP 1600 Questions
1600 PMP mock questions 1400 CAPM mock questions 800 SCJP 6 mock questions 600 OCAJP 7 mock questions 590 OCPJP 7 mock questions 556 SCWCD 5 mock questions 500 OCEJWCD 6 mock questions pdfDownload (java,struts, hibernet etc)

Tutorial Home

Hibernate

  • Advantage of Hibernate over JDBC
  • Hibernate Setup with an web Application
  • First Hibernate Application
  • Hibernate mapping with Database TABLE
  • Hibernate Data Type-Java Data Type - SQL Data Type mapping
  • One to Many Relation in Hibernate
  • One to Many Relation in Hibernate bi-directional
  • Many to Many Relation in Hibernate
  • HQL: The Hibernate Query Language
  • Criteria Queries
  • Criteria Queries : Equal (eq), Not Equal(ne), Less than (le), greater than (gt),greater than or equal(ge) and Ordering the results
  • Criteria Queries: And OR conditions
  • Hibernate generator to generate id (primary key)
  • prevent concurrent update in Hibernate,slate object updatation in Hibernate,version checking in Hibernate

    Struts


  • Model View Controller (MVC)
  • Model View Controller (MVC)
  • Struts Flow-How Struts Works?
  • Struts Tutorial - Struts Setup- First Struts Action class setup
  • Message Resources
  • Validation Framework
  • Validation Framework-client side
  • ForwardAction
  • IncludeAction
  • DispatchAction
  • LookupDispatchAction
  • DynaActionForm
  • DynaActionForm
  • Struts Tutorial - Mutli-click prevention using struts tokens-Prevent Duplicate Submission
  • Logic Iterate Map and List

    JSP


  • JSP Tutorial
  • Introduction to JSP
  • JSP Comments
  • JSP Syntax
  • JSP Scripting Elements :Scriptlet, expression, declaration
  • JSP Directives
  • implicit objects in JSP
  • JSP Actions
  • Introduction to JSP
  • jsp:useBean
  • The jsp:setProperty Action
  • The jsp:getProperty Action
  • Introduction to JSP

    Spring


  • Spring Tutorial
  • Introduction to Spring
  • Benefits of Using Spring Framework
  • Inversion of Control in Spring
  • Introduction to BeanFactory
  • Dependency Injection in Spring
  • Collections Setter Injection
  • Bean Scopes in Spring
  • Spring IOC Setup Step by Step
  • Bean Lifecycle in Spring
  • ApplicationContext
  • MessageSources in Spring
  • Web Spring MVC framework
  • Developing Your First Spring Web Application
  • Developing Your Second Spring Web Application with Spring Form
  • Developing Your First Spring Web Application with Spring Validation Framework with Code Example
  • Spring integration with Hibernate
  • Spring Tutorial Step by Step


    Developing Your First Spring Web Application with Spring Validation Framework with Code Example

    Here is the steps how to setup Your First Spring Web Application with Spring Validation Framework with Code Example

    You can download the code with zip springvalidation.zip ..Code is ready..just download and run in tomcat..


    Steps to run the downloded code :
    step 1. unzip the downloaded zip file to D:\tomcat\webapps\ directory.
    step 2. D:\tomcat\bin > stratup.bat
    step 3. Go to browser and type the URL : http://localhost:8081/springvalidation/test/logonPage.do

    step 4. Don't Enter username and password and submit the "submit" button.

    step 5. Now Enter username and don't enter password and submit the "submit" button.

    step 6. Now Enter username and password both and submit the "submit" button. You will redirect to success page

    Validator Flow In Spring


    Step a. if your URL is http://localhost:8081/springvalidation/test/logonPage.do
    The "/test/logonPage.do" call the formBackingObject(HttpServletRequest request) of the mentioned controller.
    In our case LogonController (This is mapped in test-servlet.xml of this application).
    formBackingObject(HttpServletRequest request) method set the FormBean with the default value. You can sent any value.
    and get the formView property from the test-servlet.xml and forward to the mentioned JSP.
    In our case (<property name="formView"><value>logonForm</value></property>);
    So it forwared to logonForm.jsp . Name should be same JSP and formView property.


    Step b. The JSP page fills in the form fields with the information in the "command" object.
    The JSP page fills in the form fields with the information in the "command" object.
    In our case "command" object is userBean
    <property name="commandName"><value>userBean</value></property>
    <property name="commandClass"><value>com.UserBean</value></property>
    When the form is submitted, the details are passed to the Validator servlet bean for validation.
    In our case "logonFormValidator"
    <property name="validator"><ref bean="logonFormValidator"/></property>


    Step c. This checks the form data for errors. If there are no errors, it returns control directly to the Controller servlet bean. onSubmit() method of LogonController


    Step d. If there were errors in the form, then the Validator servlet bean calls the JSP page again. This time, the "command" object contains the data previously entered by the user, so the JSP page fills in the form fields exactly as before.


    Here is the code Explanation

    Step 1. Set the DispatcherServlet in web.xml

    DispatcherServlet


    DispatcherServlet a central servlet that dispatches requests to controllers and offers other functionality facilitating the development of web applications. DispatcherServlet completely integrated with the Spring IoC container and allows you to use every other feature that Spring has.
    The DispatcherServlet is an Servlet declared in the web.xml.
    Consider the following DispatcherServlet servlet configuration (in the web.xml file.)
    <web-app> <servlet>
    <servlet-name>test</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>test</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    </web-app>
    With the above servlet configuration , you will need to have a file called '/WEB-INF/test-servlet.xml' in your application.

    Step 2. test-servlet.xml file

    test-servlet.xml file contains viewResolver , Handler mappings and Controllers.
    viewResolver :
    All controllers in the Spring Web MVC framework return a ModelAndView instance. Views in Spring are addressed by a view name and are resolved by a view resolver. For Example : if your controller return new ModelAndView("success"); means control forwared to "/WEB-INF/jsp/success.jsp" based on below configuration.
    When returning "success" as a viewname, this view resolver will hand the request over to the RequestDispatcher that will send the request to /WEB-INF/jsp/success.jsp.

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    </bean>
    SimpleUrlHandlerMapping:
    The "/test/logonPage.do" call the logonController.
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="urlMap">
    <map>
    <entry key="/test/logonPage.do"><ref bean="logonController"/></entry>
    </map>
    </property>
    </bean>
    Controllers :
    <bean id="logonController" class="com.LogonController">
    <property name="sessionForm"><value>true</value></property>
    <property name="commandName"><value>userBean</value></property>
    <property name="commandClass"><value>com.UserBean</value></property>
    <property name="validator"><ref bean="logonFormValidator"/></property>
    <property name="formView"><value>logonForm</value></property>
    <property name="successView"><value>success</value></property>
    </bean>
    In the above configuation

    <property name="sessionForm"><value>true</value></property>
    Keep command object throughout session
    validator:
    <bean id="logonFormValidator" class="com.LogonFormValidator"/>

    Step 3. Controller classe

    "/test/logonPage.do" call the formBackingObject(HttpServletRequest request) of the controller.
    formBackingObject(HttpServletRequest request) method set the FormBean with the default value. This method is used to display the form.
    And onSubmit() method will be called after click on submit button of the form.
    LogonController.java
    package com;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;

    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.SimpleFormController;


    public class LogonController extends SimpleFormController{

    public Object formBackingObject(HttpServletRequest request) throws ServletException
    {
    UserBean backingObject = new UserBean();
    System.out.println("formBackingObject");

    /* The backing object should be set up here, with data for the initial values
    * of the formís fields. This could either be hard-coded, or retrieved from a
    * database.
    */


    return backingObject;
    }

    public ModelAndView onSubmit(Object command) throws ServletException {
    UserBean user = (UserBean)command;
    System.out.println("username :"+user.getUserName());
    System.out.println("password :"+user.getPassword());
    //Now you can validate to database
    return new ModelAndView("succes");
    }



    }

    Step 4. Validator classe

    Validator class need to implement Validator interface .It only has two methods. The supports() method is used to check whether the validator supports a given class, and the validate() method is used to actually validate an object of the supported class.
    LogonFormValidator.java
    package com;

    import org.springframework.validation.Errors;
    import org.springframework.validation.Validator;


    public class LogonFormValidator implements Validator{

    public boolean supports(Class clazz) {
    return clazz.equals(UserBean.class);
    }

    public void validate(Object obj, Errors errors) {
    UserBean user = (UserBean) obj;
    if (user == null) {
    errors.rejectValue("username", "error.login.not-specified", null,"Value required.");
    } else {


    if (user.getUserName()== null || user.getUserName().trim().length() <= 0) {
    System.out.println("user name null value");
    errors.rejectValue("userName", "error.login.invalid-user",
    null, "Username is Required.");
    } else {
    if (user.getPassword()== null || user.getPassword().trim().length() <= 0) {
    errors.rejectValue("password", "error.login.invalid-pass",
    null, "Password is Required.");
    }
    }

    }
    }
    }



    Step 5. Bean classe

    UserBean.java
    package com;


    public class UserBean {
    String userName;
    String password;

    /**
    * @return Returns the password.
    */
    public String getPassword() {
    return password;
    }
    /**
    * @param password The password to set.
    */
    public void setPassword(String password) {
    this.password = password;
    }
    /**
    * @return Returns the userName.
    */
    public String getUserName() {
    return userName;
    }
    /**
    * @param userName The userName to set.
    */
    public void setUserName(String userName) {
    this.userName = userName;
    }
    }



    Step 6. JSP code logonForm.jsp and success.jsp

    In the JSP page you have to bind <spring:bind path="userBean.userName">
    where userBean = commandName in the test-servlet.xml
    userName = field name in the com.UserBean class.
    logonForm.jsp

    <%@ taglib prefix="core" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
    <%@ taglib prefix="str" uri="http://jakarta.apache.org/taglibs/string-1.1" %>
    <%@ taglib prefix="spring" uri="/spring" %>


    <html>
    <head><title>techfaq360 Spring Validation Example</title></head>
    <body>

    <center>

    <h1>techfaq360 Spring Validation Example</h1>
    <br/>

    <form method="post" action="/springvalidation/test/logonPage.do">
    <table width="25%" border="1">
    <tr>
    <td align="center" bgcolor="lightblue">Log on</td>
    </tr>
    <tr>
    <td>
    <table border="0" width="100%">
    <tr>
    <td width="33%" align="right">Username: </td>
    <td width="66%" align="left">
    <spring:bind path="userBean.userName">
    <input type="text"
    name="userName"
    value="<core:out value=""/>"/>
    </spring:bind>
    </td>

    </tr>
    <tr>
    <td colspan="2" align="center">
    <spring:hasBindErrors name="userBean">
    <font color="red"><core:out value=""/></font>
    </spring:hasBindErrors>
    </td>
    </tr>
    <tr>
    <td width="33%" align="right">Password: </td>
    <td width="66%" align="left">
    <spring:bind path="userBean.password">
    <input type="password" name="password" />
    </spring:bind>
    </td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <spring:hasBindErrors name="userBean">
    <font color="red"><core:out value=""/></font>
    </spring:hasBindErrors>
    </td>
    </tr>
    <tr>
    <td align="center" colspan="2">
    <input type="submit" alignment="center" value="Submit">
    </td>
    </tr>
    </table>

    </td>
    </tr>
    </table>

    </form>

    </center>

    </body>
    </html>


    succes.jsp
    <h2>Logon Success </h2>
    The information you are posting should be related to java and ORACLE technology. Not political.