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
|
Struts Tutorial -- Code Examples
Struts Tutorial - Struts Setup - First Struts Application Setup
Follow the steps to setup struts.
You can download First Struts Application Setup zip file download the code with zip..Code is ready..just download and run in tomcat.. Click donate button
unzip the downloaded zip file into tomcat/webapps directory. Then restart tomcat.
In the browser if you type :
http://localhost:8080/testApp/EmpForm.jsp
Step 1. Create folders like below.
testApp
|
----src // Java Source Code folder
----WEB-INF //within folder
|
---------web.xml //file
---------struts-config.xml //file
---------struts-bean.tld //file
---------struts-html.tld //file
---------struts-logic.tld //file
---------struts-nested.tld //file
---------struts-template.tld //file
---------struts-tiles.tld //file
---------classes //folder
---------lib //within folder
|
-------------struts.jar //jar file
-------------commons-beanutils.jar //jar file
-------------commons-collections.jar //jar file
-------------commons-digester.jar //jar file
-------------commons-fileupload.jar //jar file
-------------commons-lang.jar //jar file
-------------commons-logging.jar //jar file
-------------commons-validator.jar //jar file
|
Step 2. Add ActionServlet Entry into the web.xml file
Any struts web application contain the ActionServlet configuration in web.xml file.
On load-on-startup the servlet container Instantiate the ActionServlet .
First Task by ActionServlet :
The ActionServlet takes the Struts Config file name as an init-param.
At startup, in the init() method, the ActionServlet reads the Struts Config file and load into memory.
Second Task by ActionServlet :
If the user types http://localhost:8080/testApp/submitForm.do in the
browser URL bar, the URL will be intercepted and processed by the
ActionServlet since the URL has a pattern *.do, with a suffix of "do".
Because servlet-mapping is
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Third Task by ActionServlet :
Then ActionServlet delegates the request handling to another class called
RequestProcessor by invoking its process() method.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Struts</display-name>
<description>
Example app using struts
</description>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-template.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
</web-app>
|
Step 3. Add Action mapping and form entry into the stuts-confix.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="EmpForm" type="com.techfaq.form.EmpForm"> </form-bean>
</form-beans>
<action-mappings>
<action path="/submitForm"
type="com.techfaq.action.EmpAction"
name="EmpForm"
scope="request"
validate="false"
input="EmpForm.jsp">
<forward name="success"
path="success.jsp"/>
<forward name="failure" path="failure.jsp" />
</action>
</action-mappings>
</struts-config>
|
Step 4. In the JSP page (EmpForm.jsp) - place into testApp folder
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html:form>
<html:form action="/submitForm.do" method="post">
<html:text property="firstName" size="20" maxlength="50"/>
<html:submit >Save</html:submit>
</html:form>
|
Step 5. In the EmpForm
package com.techfaq.form;
public class EmpForm extends ActionForm {
int empId;
String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
}
|
Step 5. In the Action class.
package com.techfaq.action;
public class EmpAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception
{
//your logic
EmpForm empform =(EmpForm)form;
String empName = empform.getFirstName()// User entered data you can get like this.
mapping.findForward("success");
}
}
|
Step 6. In the JSP page (success.jsp) - place into testApp folder
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html>
Emp Save Sucessfull.
<html>
|
In the browser if you type :
http://localhost:8080/testApp/EmpForm.jsp
Enter Emp name in the text box and submit the "Save" BUTTON.
Based on mapping.findForward("success");
it will return success.jsp.
In the browser you can see.
Emp Save Sucessfull.
|
|