tag:blogger.com,1999:blog-54147753997496396422013-05-15T13:39:19.070+05:30CodesStore { }Java, Java EE, EJB, Struts, Hibernate, MySQL, JavaScript my experience ....<em>A Blog By a Sri Lankan <b>Java </b>Lover...</em>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.comBlogger34125tag:blogger.com,1999:blog-5414775399749639642.post-67941912074250654522013-03-24T20:07:00.001+05:302013-03-24T20:08:57.100+05:30Add and remove elements from JavaScript arrayHere I show how to add ,remove elements and get a comma separated string from JavaScript array <br /><a name='more'></a><h3> </h3><h3>Add / Remove elements from array</h3><blockquote><pre class="javascript" name="code">var myArray = ["Sameera","Sanath"];<br /><br />//Add element to array<br />myArray.push("Amila");<br /><br /><br />//Check already contains and add an element<br />if ($.inArray("Jaya" ,myArray) == -1){<br /> myArray.push("Jaya");<br />}<br /><br />console.log(myArray);<br /><br /><br />//Remove element from array<br /><br />var index = $.inArray("Sanath", myArray);<br />myArray.splice(index, 1);<br /><br />console.log(myArray); </pre></blockquote>Here I used Jquery <i><b>index = $.inArray("Sanath", myArray);</b> </i>to get index of the element. We can also get the index by<i> <b>index = myArray.indexOf("Sanath");</b></i> .But indexOf does not work on IE 8 and below.<br /><br /><h3>Get a comma separated string from array </h3><blockquote><pre class="javascript" name="code">//Get comma separated string from array<br />var myArray = ["Sameera","Sanath","Jaya"];<br />var myUsers = myArray.join(",");<br />console.log(myUsers);</pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-90651927264106810592013-03-19T22:56:00.000+05:302013-03-19T22:56:35.302+05:30Convert minutes to hours in JavaScriptConvert minutes to hours in JavaScript . Eg: <b>400 minutes -> 06hrs 40min</b><br /><br /><a name='more'></a><br /><blockquote><pre class="javascript" name="code"><script type="text/javascript"><br /><br />function convert(totalMinutes){<br /><br /> var hours = leftPad(Math.floor(totalMinutes / 60));<br /> var minutes = leftPad(totalMinutes % 60);<br /><br /> return hours +'hrs '+minutes + 'min';<br /><br />}<br /><br />var hrs = convert(400);<br /><br />alert(hrs); <br /><br />/*<br /> * add zero to numbers less than 10,Eg: 2 -> 02<br /> */<br />function leftPad(number) { <br /> return ((number < 10 && number >= 0) ? '0' : '') + number;<br />}<br /><br /></script></pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-85237025444359566102013-03-17T22:50:00.003+05:302013-03-17T22:50:56.328+05:30JavaScript FunctionsHere I explain different types of function creation methods in JavaScript<br /><a name='more'></a><h3>Create a basic function </h3><blockquote><pre class="javascript" name="code">function myFunction() {<br /> alert("myFunction called");<br />}<br /><br />myFunction(); //call function</pre></blockquote><br /><h3>Call a function when window load </h3><blockquote><pre class="javascript" name="code">function init() {<br /> alert("init called");<br />}<br /><br />window.onload = init;</pre></blockquote>Call anonymous function when window load<br /><blockquote><pre class="javascript" name="code">window.onload = function () {<br /> alert("anonymous function called");<br />}; </pre></blockquote><br /><h3>Call a function with setTimeout</h3><blockquote><pre class="javascript" name="code">function tOut() {<br /> alert("tOut function called after 1000 milliseconds")<br />}<br /><br />setTimeout(tOut, 1000); </pre></blockquote>Call anonymous function with setTimeout<br /><blockquote><pre class="javascript" name="code">setTimeout(function(){ alert("anonymous function called after 1000 milliseconds"); },1000);</pre></blockquote><br /><h3>Create an inner function</h3><blockquote><pre class="javascript" name="code">function outer() {<br /><br /> alert("outer - before");<br /><br /> function inner() {<br /> alert("inner");<br /> }<br /><br /> inner(); // can call inner here<br /> alert("outer - after");<br /><br />}<br /><br />outer();<br />//inner(); // cannnot call inner here </pre></blockquote><blockquote><pre class="javascript" name="code">var inn;<br /><br />function outer() {<br /> alert("outer - before");<br /><br /> function inner() {<br /> alert("inner");<br /><br /> }<br /><br /> inn = inner;<br /> alert("outer - after");<br /><br /><br />}<br />outer();<br />inn(); // call inner here</pre></blockquote><br /><blockquote><pre class="javascript" name="code">var f = function () {<br /> alert("f")<br />};<br /><br />f(); //call</pre></blockquote><blockquote><pre class="javascript" name="code">var f = function myFunction() {<br /> alert("myFunction")<br />};<br /><br />f();</pre></blockquote><br /><blockquote><pre class="javascript" name="code">var ob = {};<br />ob.func = function(){ alert("func") };<br />ob.func(); //call</pre></blockquote><blockquote><pre class="javascript" name="code">var ob = {<br /> f1 : function(){ alert("f1"); },<br /> f2 : function(){ alert("f2"); }<br />} <br /><br />ob.f1(); // call</pre></blockquote><blockquote><pre class="javascript" name="code">var ob = {<br /> f1 : function myFunction(){ alert("myFunction called"); } <br />}<br />ob.f1(); // call</pre></blockquote><br /><h3>Call function using apply and call(not work on IE)</h3><blockquote><pre class="javascript" name="code">function myFunc(){<br /> <br /> for(var x in arguments){<br /> alert(arguments[x]);<br /> }<br /><br />}<br /><br />var o1 = {};<br />var o2 = {};<br /><br />myFunc.apply(o1,[1,2,3]);<br />myFunc.call(o2,1,2,3); </pre></blockquote><br /><b>Reference</b>: <a href="http://www.manning.com/resig/" target="_blank">Secrets of the JavaScript Ninja</a>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-90221569522663589752013-03-05T22:38:00.000+05:302013-03-24T20:56:54.328+05:30JQueryClick a button/link when page load,find selected and unselected options in Jquery<br /><a name='more'></a><h3> </h3><h3>Click a button when page load</h3><blockquote><pre class="javascript" name="code">$(document).ready(function () {<br /><br /> $("#link").click(function () {<br /> alert("link clicked");<br /> });<br /><br /> $("#btnSearch").click(function () {<br /> alert("button clicked");<br /> });<br /><br /> $("#btnSearch").trigger('click'); // OR<br /> $("#btnSearch").click();<br /><br /><br />});</pre></blockquote><blockquote><pre class="html" name="code"><input type="button" id="btnSearch" value="Search"/><br /></pre></blockquote><br /><h3>Click a hyperlink </h3><blockquote><pre class="javascript" name="code"> $('#link').click();<br /><br /></pre></blockquote><blockquote><pre class="html" name="code"><a href="#" id="link" >Go</a><br /></pre></blockquote><br /><h3>Find selected and unselected options</h3><blockquote><pre class="javascript" name="code"> $(document).ready(function () {<br /> $("#sel").find('option:selected').css('background', "red");<br /> $("#sel").find('option:not(:selected)').css('background', "blue");<br /><br /> });<br /></pre></blockquote><blockquote><pre class="html" name="code"><select id="sel" ><br /> <option value="USA">USA</option><br /> <option value="SriLanka" selected="selected">SriLanka</option><br /> <option value="India">India</option><br /> <option value="Japan">Japan</option><br /></select></pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-20248011097920399932013-02-16T18:42:00.002+05:302013-02-16T18:44:04.353+05:30Remove ThreadPoolExecutor Break point in Eclipse Remove Liferay debugging breakpoints.<br /><a name='more'></a><br />When I debugging my liferay portlet in Tomcat, always eclipse debugger stops at break point which was not added by me.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-XL-52ynNTFA/UR-D2yD2shI/AAAAAAAABBw/2CpoDWjvCag/s1600/disable-debug-liferay1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="ThreadPoolExecutor" border="0" src="http://3.bp.blogspot.com/-XL-52ynNTFA/UR-D2yD2shI/AAAAAAAABBw/2CpoDWjvCag/s1600/disable-debug-liferay1.jpg" title="ThreadPoolExecutor" /></a></div><br />To disable that break point go to<br /><b>Window -> Preferences -> Debug</b><br /><br />and untick <b><i>Suspend excecution on uncaught exceptions</i></b>.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-AJ-GkV_MOak/UR-EsLAY9xI/AAAAAAAABB4/40voyO0lxsQ/s1600/disable+debug+liferay.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Suspend execution on uncaught exceptions" border="0" src="http://3.bp.blogspot.com/-AJ-GkV_MOak/UR-EsLAY9xI/AAAAAAAABB4/40voyO0lxsQ/s1600/disable+debug+liferay.jpg" title="Suspend execution on uncaught exceptions" /></a></div><br /><br />Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-70935177825649737742013-02-16T17:27:00.003+05:302013-02-16T17:32:34.390+05:30How to create a JavaScript MapHow to create a Map in JavaScript. <br /><a name='more'></a><br />I'm going to create a map with following keys and values<br />"mykey0" -> "myValue0"<br />"mykey1" -> "myValue1"<br />"mykey2" -> "myValue2" <br /><br /><h3>map.js</h3><blockquote><pre class="javascript" name="code">var myMap = {};<br /><br /><br />//Fill map<br />for ( var i = 0; i < 3; i++) {<br /> myMap['mykey' + i] = "myValue" + i;<br />}<br /><br />//Get map elements by key<br />for (key in myMap){<br /> alert(myMap[key]);<br />}</pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-28165665146486650012013-02-10T12:44:00.000+05:302013-02-10T12:44:37.777+05:30Objects sorting in javaHere I explain how to sort java objects using Comparator and Comparable interfaces.<br /><a name='more'></a><br />We want to sort students by marks.<br />Rahul: 45,<br />Sameera: 95,<br />Amith: 28,<br />Anju: 60,<br />Lahiru: 86<br /><br /><h3><u>Method 1: Comparator </u></h3><br />Now create student class<br /><h3>Student.java</h3><blockquote><pre class="java" name="code">package com.codestore.sorting;<br /><br />/**<br /> * @author Sameera Jayasekara<br /> */<br />public class Student {<br /> String name;<br /> int totalMarks;<br /><br /> public Student(String name, int totalMarks) {<br /> this.name = name;<br /> this.totalMarks = totalMarks;<br /><br /> }<br /><br /> @Override<br /> public String toString() {<br /> return name + ": " + totalMarks;<br /> }<br />}<br /><br /></pre></blockquote>Create comparator class and override compare method <br /><h3>StudentMarksComparator.java</h3><blockquote><pre class="java" name="code">import java.util.Comparator;<br /><br />/**<br /> * @author Sameera Jayasekara<br /> */<br />public class StudentMarksComparator implements Comparator<Student> {<br /><br /> @Override<br /> public int compare(Student s1, Student s2) {<br /> Student student1 = s1;<br /> Student student2 = s2;<br /> return student2.totalMarks - student1.totalMarks;<br /> }<br /><br />}</pre></blockquote><h3>Main.java</h3><blockquote><pre class="java" name="code">package com.codestore.sorting;<br /><br />import java.util.*;<br /><br />/**<br /> * @author Sameera Jayasekara<br /> */<br />public class Main {<br /><br /> public static void main(String[] args) {<br /><br /> List<Student> students = new ArrayList<Student>();<br /> students.add(new Student("Rahul", 45));<br /> students.add(new Student("Sameera", 95));<br /> students.add(new Student("Amith", 28));<br /> students.add(new Student("Anju", 60));<br /> students.add(new Student("Lahiru", 86));<br /><br /> System.out.println("Before Sort: " + students);<br /><br /> StudentMarksComparator smc = new StudentMarksComparator();<br /> Collections.sort(students, smc);<br /><br /> System.out.println("After Sort: " + students);<br /><br /> }<br /><br />}<br /> </pre></blockquote><b>Output:</b><br />Before Sort: [Rahul: 45, Sameera: 95, Amith: 28, Anju: 60, Lahiru: 86]<br />After Sort: [Sameera: 95, Lahiru: 86, Anju: 60, Rahul: 45, Amith: 28]<br /><br />You can directly add a comparator class as a method parameter without creating a separate class.<br /><blockquote><pre class="java" name="code">package com.codestore.sorting;<br /><br />import java.util.*;<br /><br />/**<br /> * @author Sameera Jayasekara<br /> */<br />public class Main {<br /><br /> public static void main(String[] args) {<br /><br /> List<Student> students = new ArrayList<Student>();<br /> students.add(new Student("Rahul", 45));<br /> students.add(new Student("Sameera", 95));<br /> students.add(new Student("Amith", 28));<br /> students.add(new Student("Anju", 60));<br /> students.add(new Student("Lahiru", 86));<br /><br /> System.out.println("Before Sort: " + students);<br /><br /> // StudentMarksComparator smc = new StudentMarksComparator();<br /> // Collections.sort(students, smc);<br /><br /> Collections.sort(students, new Comparator<Student>() {<br /><br /> @Override<br /> public int compare(Student s1, Student s2) {<br /> Student student1 = s1;<br /> Student student2 = s2;<br /> return student2.totalMarks - student1.totalMarks;<br /> }<br /><br /> });<br /><br /> System.out.println("After Sort: " + students);<br /><br /> }<br /><br />}<br /></pre></blockquote><br /><h3><u>Method 2: Comparable</u></h3><br /><h3>Student.java</h3><blockquote><pre class="java" name="code">package com.codestore.sorting.comparable;<br /><br />/**<br /> * @author Sameera Jayasekara<br /> */<br />public class Student implements Comparable<Student> {<br /><br /> String name;<br /> int totalMarks;<br /><br /> public Student(String name, int totalMarks) {<br /> this.name = name;<br /> this.totalMarks = totalMarks;<br /> }<br /><br /> @Override<br /> public int compareTo(Student s) {<br /> return this.totalMarks - s.totalMarks;<br /> }<br /><br /> @Override<br /> public String toString() {<br /> return name + ": " + totalMarks;<br /> }<br /><br />}<br /> </pre></blockquote><h3>Main.java</h3><blockquote><pre class="java" name="code">package com.codestore.sorting.comparable;<br /><br />import java.util.*;<br /><br />/**<br /> * @author Sameera Jayasekara<br /> */<br />public class Main {<br /><br /> public static void main(String[] args) {<br /><br /> List<Student> students = new ArrayList<Student>();<br /> students.add(new Student("Rahul", 45));<br /> students.add(new Student("Sameera", 95));<br /> students.add(new Student("Amith", 28));<br /> students.add(new Student("Anju", 60));<br /> students.add(new Student("Lahiru", 86));<br /><br /> System.out.println("Before Sort: " + students);<br /><br /> Collections.sort(students);<br /><br /> System.out.println("After Sort: " + students);<br /><br /> }<br /><br />}<br /> </pre></blockquote><b>Output:</b><br />Before Sort: [Rahul: 45, Sameera: 95, Amith: 28, Anju: 60, Lahiru: 86]<br />After Sort: [Sameera: 95, Lahiru: 86, Anju: 60, Rahul: 45, Amith: 28]Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-87873241136598675802012-12-16T22:31:00.000+05:302012-12-16T22:37:40.941+05:30Get index of a foreach - Struts, JSTL, FreeMarkerHow to get the index of the current iteration of a foreach loop in Struts2, JSTL, FreeMarker<br /><a name='more'></a><br /><h3>Struts 2 </h3><blockquote><pre class="html" name="code"><s:iterator value="userList" status="status" > <br /> <br /> <s:property value="#status.index" /><br /> <s:property value="firstname" /><br /><br /></s:iterator></pre></blockquote><h3>JSTL</h3><blockquote><pre class="html" name="code"><c:forEach items="${userList}" var="u" varStatus="status"><br /><br /> <c:out value="${status.index}" /><br /> <c:out value="${u.firstname}" /><br /><br /></c:forEach><br /></pre></blockquote><h3>FreeMarker</h3><blockquote><pre class="html" name="code"><#list userList as u><br /><br /> ${u_index}<br /> ${u.firstname}<br /> <br /></#list></pre></blockquote>Backend code<br /><blockquote><pre class="java" name="code">List<User> userList = new ArrayList<User>();<br /><br />userList.add(new User("sam", "jay"));<br />userList.add(new User("sameera", "jaya"));</pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-81450521176802584112012-12-04T23:17:00.000+05:302012-12-04T23:17:25.689+05:30Insert multiple rows MySQLYou can insert multiple rows using a single query.<br /><a name='more'></a><br /><blockquote><pre class="sql" name="code">INSERT INTO student(first_name,last_name,username) VALUES<br />('sameera','jaya','samjay'),<br />('sanath','jaya','sanjay'),<br />('samal','jayaweera','samaljay');</pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-59286646948096686952012-11-02T23:29:00.000+05:302012-11-03T23:36:49.631+05:30JavaScript functions for realtime validationThese are the functions you need to validate input fields.<br /><a name='more'></a>You can add these functions to a common JavaScript file and include that to whole website.<br /><br /><h3>Block users to type other characters in numeric fields.</h3><br /><blockquote><pre class="javascript" name="code">$(document).ready(function() { <br /> <br /> $('.numeric-only').keypress(function (e){<br /> if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)){<br /> return false;<br /> }<br /> });<br /><br />});</pre></blockquote>Usage:<br /><blockquote><pre class="html" name="code"> <input type="text" name="age" class="numeric-only" maxlength="3"/></pre></blockquote><script type="text/javascript"> jQuery(document).ready(function() { jQuery('.numeric-only').keypress(function (e){ if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)){ return false; } }); $('.capitalize').keyup(function(evt){ var txt = $(this).val(); $(this).val(txt.replace(/^(.)|\s(.)/g, function(data){ return data.toUpperCase( ); })); }); $('.alpha-only').keyup(function (e){ var text = $(this).val(); txt=text.replace(/[^a-zA-Z]/g, ''); $(this).val(txt); }); $('.alpha-numeric-only').keyup(function (e){ var text = $(this).val(); txt=text.replace(/[^a-zA-Z0-9]/g, ''); $(this).val(txt); }); $('.alpha-numeric-space').keyup(function (e){ var text = $(this).val(); txt=text.replace(/[^a-zA-Z 0-9\s]/g, ''); $(this).val(txt); }); }); </script> Demo:<br /><br />Age: <input class="numeric-only" maxlength="3" name="age" type="text" /> <br /><h3> </h3><h3>Capitalize text when typing. </h3>This will capitalize first letter in every word in the text field.<br /><blockquote><pre class="javascript" name="code">$(document).ready(function() { <br /> <br /> $('.capitalize').keyup(function(evt){<br /> var text = $(this).val();<br /> $(this).val(text.replace(/^(.)|\s(.)/g, function(data){ return data.toUpperCase( ); }));<br /> });<br /><br />});</pre></blockquote>Usage:<br /><blockquote><pre class="html" name="code"> <input type="text" name="fullname" class="capitalize" /></pre></blockquote>Demo:<br /><br />Full Name: <input class="capitalize" name="fullname" type="text" /> <br /><br /><h3>Alpha only</h3>This will only allow alpha characters when typing. <br /><blockquote><pre class="javascript" name="code">$(document).ready(function() {<br /> $('.alpha-only').keyup(function (e){<br /> <br /> var text = $(this).val();<br /> txt=text.replace(/[^a-zA-Z]/g, '');<br /> $(this).val(txt); <br /><br /> });<br /><br />});</pre></blockquote><br />Usage:<br /><blockquote><pre class="html" name="code"> <input type="text" name="username" class="alpha-only" /></pre></blockquote>Demo:<br /><br />Username: <input class="alpha-only" name="username" type="text" /><br /><br /><h3>Alpha numeric only</h3>This will only allow alpha and numeric characters when typing. <br /><blockquote><pre class="javascript" name="code">$(document).ready(function() {<br /> $('.alpha-numeric-only').keyup(function (e){<br /> <br /> var text = $(this).val();<br /> txt=text.replace(/[^a-zA-Z0-9]/g, '');<br /> $(this).val(txt); <br /> <br /> });<br />});</pre></blockquote>Usage:<br /><blockquote><pre class="html" name="code"> <input type="text" name="displayname" class="alpha-numeric-only" /></pre></blockquote>Demo:<br /><br />Display Name: <input class="alpha-numeric-only" name="username" type="text" /><br /><br /><h3>Alpha numeric space</h3>This will only allow alpha, numeric and space characters when typing. <br /><blockquote><pre class="javascript" name="code"> $(document).ready(function() {<br /> $('.alpha-numeric-space').keyup(function (e){<br /> <br /> var text = $(this).val();<br /> txt=text.replace(/[^a-zA-Z 0-9\s]/g, '');<br /> $(this).val(txt); <br /> <br /> });<br />});</pre></blockquote>Usage:<br /><blockquote><pre class="html" name="code"> <input type="text" name="nickname" class="alpha-numeric-space" /></pre></blockquote>Demo:<br /><br />Nickname: <input class="alpha-numeric-space" name="username" type="text" />Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-14066863532135202672012-11-02T23:06:00.000+05:302012-11-02T23:32:35.829+05:30How to disable autocompleteYou can disable auto complete using this code.<br /><a name='more'></a>Put these code to your common JavaScript file. This code will add autocomplete= "off" to all inputs or forms in your website.You don't want to add all html inputs or forms manually. So it wiil be easy for you.<br /><br /><blockquote><pre class="javascript" name="code">$(document).ready(function() {<br /><br /> $('input').attr('autocomplete', 'off');<br /><br />});</pre></blockquote>or<br /><blockquote><pre class="javascript" name="code">$(document).ready(function() {<br /><br /> $('form').attr('autocomplete', 'off');<br /><br />});</pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-67882099102151504662012-07-05T17:10:00.001+05:302012-07-08T17:37:46.051+05:30How to create a Java application with MavenHere I explain how to create and run Java Application using Maven and Eclipse. <br /><a name='more'></a><u>Tools used</u><br /><br /><a href="http://www.eclipse.org/" target="_blank">Eclipse (Helios)</a><br />Maven Integration for Eclipse (Help->Eclipse Marketplace and install it.) <br /><a href="http://mojo.codehaus.org/exec-maven-plugin/" target="_blank">Exec Maven Plugin </a><br /><br />Create new Maven project.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-QM6mOb1Mpmo/T_VlljePHhI/AAAAAAAAA5k/tXE2aMYJKVQ/s1600/1.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-QM6mOb1Mpmo/T_VlljePHhI/AAAAAAAAA5k/tXE2aMYJKVQ/s1600/1.JPG" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-Mj1XlcwIy0k/T_VlvVsQDBI/AAAAAAAAA5s/7Mf0bKDMVUo/s1600/2.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-Mj1XlcwIy0k/T_VlvVsQDBI/AAAAAAAAA5s/7Mf0bKDMVUo/s1600/2.JPG" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-rcJZha8Zlm4/T_Vl2x3lIeI/AAAAAAAAA50/DqqqZ0AZ3cs/s1600/3.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-rcJZha8Zlm4/T_Vl2x3lIeI/AAAAAAAAA50/DqqqZ0AZ3cs/s1600/3.JPG" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Now generated project structure look like this.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-OvtoO-YsUNc/T_VmIFtQocI/AAAAAAAAA58/xahOc_2HQ64/s1600/4.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-OvtoO-YsUNc/T_VmIFtQocI/AAAAAAAAA58/xahOc_2HQ64/s1600/4.JPG" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Generated pom.xml<br /><br /><h3> pom.xml</h3><blockquote><pre class="xml" name="code"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br /> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><br /> <modelVersion>4.0.0</modelVersion><br /><br /> <groupId>codesstore</groupId><br /> <artifactId>codesstore-core</artifactId><br /> <version>0.0.1-SNAPSHOT</version><br /> <packaging>jar</packaging><br /><br /> <name>codesstore-core</name><br /> <url>http://maven.apache.org</url><br /><br /> <properties><br /> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><br /> </properties><br /><br /> <dependencies><br /> <dependency><br /> <groupId>junit</groupId><br /> <artifactId>junit</artifactId><br /> <version>3.8.1</version><br /> <scope>test</scope><br /> </dependency><br /> </dependencies><br /></project><br /></pre></blockquote><br />I created a new class called MyClass.java in com.codesstore.util package.<br /><br /><h3> MyClass.java </h3><blockquote><pre class="java" name="code">package com.codesstore.util;<br /><br />public class MyClass {<br /><br /> public void printHello() {<br /> System.out.println("Hello Maven...");<br /> }<br />}<br /></pre></blockquote>And called that class in main method.<br /><br /><h3> App.java</h3><br /><blockquote><pre class="java" name="code">package com.codesstore.main;<br /><br />import com.codesstore.util.MyClass;<br /><br /><br />public class App {<br /> <br /> public static void main(String[] args) {<br /> new MyClass().printHello();<br /> }<br />}<br /></pre></blockquote>Now I'm going to add Exec plugin to pom.xml. See more information on Exec plugin <a href="http://mojo.codehaus.org/exec-maven-plugin/" target="_blank">http://mojo.codehaus.org/exec-maven-plugin/</a><br /><br /><h3> pom.xml</h3><blockquote><pre class="xml" name="code"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br /> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><br /> <modelVersion>4.0.0</modelVersion><br /><br /> <groupId>codesstore</groupId><br /> <artifactId>codesstore-core</artifactId><br /> <version>0.0.1-SNAPSHOT</version><br /> <packaging>jar</packaging><br /><br /> <name>codesstore-core</name><br /> <url>http://maven.apache.org</url><br /><br /> <properties><br /> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><br /> </properties><br /><br /> <dependencies><br /> <dependency><br /> <groupId>junit</groupId><br /> <artifactId>junit</artifactId><br /> <version>3.8.1</version><br /> <scope>test</scope><br /> </dependency><br /> </dependencies><br /><br /> <build><br /> <plugins><br /> <plugin><br /> <groupId>org.codehaus.mojo</groupId><br /> <artifactId>exec-maven-plugin</artifactId><br /> <version>1.1-beta-1</version><br /> <executions><br /> <execution><br /> <goals><br /> <goal>java</goal><br /> </goals><br /> </execution><br /> </executions><br /> <configuration><br /> <mainClass>com.codesstore.main.App</mainClass><br /> </configuration><br /> </plugin><br /> </plugins><br /> </build><br /><br /></project><br /></pre></blockquote>Right click on the pom file -> Run as ->Maven build..<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-9HGY3YccU7s/T_V0dWgE0OI/AAAAAAAAA6I/9qL8gauXBt0/s1600/6.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-9HGY3YccU7s/T_V0dWgE0OI/AAAAAAAAA6I/9qL8gauXBt0/s1600/6.jpg" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Then you can set goals to run. I use <b>exec:java</b> here.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-EUS8daHraMg/T_V0wXt62zI/AAAAAAAAA6Q/u1keehBDVX0/s1600/5.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-EUS8daHraMg/T_V0wXt62zI/AAAAAAAAA6Q/u1keehBDVX0/s1600/5.JPG" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><b>Out put</b><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-Fg26Pn5UJAM/T_V3YczSrxI/AAAAAAAAA6c/438qH9pMhSQ/s1600/7.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-Fg26Pn5UJAM/T_V3YczSrxI/AAAAAAAAA6c/438qH9pMhSQ/s1600/7.JPG" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><b>Project structure in Eclipse</b><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-ggmVpggElMs/T_V5TuforLI/AAAAAAAAA6k/uLTdOKqgEE8/s1600/8.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-ggmVpggElMs/T_V5TuforLI/AAAAAAAAA6k/uLTdOKqgEE8/s1600/8.JPG" /></a></div><br />Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-49687954661859632222012-07-05T11:35:00.000+05:302012-07-10T22:25:32.547+05:30EJB3 and JPA step by step tutorial using NetBeansHere I explain step by step how to create an EJB 3 with JPA application in NetBeans IDE.<br /><a name='more'></a>This tutorial is for beginners who want to learn steps to create EJB persistence application with NetBeans and Glassfish.<br /><br /><u>Tools used</u><br /><br /><a href="http://netbeans.org/">NetBeans 6.9.1</a><br /><a href="http://glassfish.java.net/">Glassfish Server 3</a><br /><a href="http://www.mysql.com/">MySQL database</a><br /><br />Create an Enterprise Application called <b><i>StudentManagementEA</i></b>.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-IdVYA1b1BPU/T-IESBE7rlI/AAAAAAAAAx8/XTwPpzCKuzE/s1600/ejb1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create Enterprise Application in Netbeans" border="0" height="275" src="http://1.bp.blogspot.com/-IdVYA1b1BPU/T-IESBE7rlI/AAAAAAAAAx8/XTwPpzCKuzE/s400/ejb1.jpg" title="Create Enterprise Application in Netbeans" width="400" /></a></div><br /><br /><br /><br />Click on images to <b>enlarge</b><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-CAp-CGg9Eng/T-IEryxYmyI/AAAAAAAAAyE/AxAOOsAOjN4/s1600/ejb2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create Enterprise Application in Netbeans" border="0" height="262" src="http://4.bp.blogspot.com/-CAp-CGg9Eng/T-IEryxYmyI/AAAAAAAAAyE/AxAOOsAOjN4/s400/ejb2.jpg" title="Create Enterprise Application in Netbeans" width="400" /></a></div><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-1IQ-qeltvTU/T-IEt2cZOQI/AAAAAAAAAyM/Z1dEppfYcJ0/s1600/ejb3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create Enterprise Application in Netbeans" border="0" height="262" src="http://2.bp.blogspot.com/-1IQ-qeltvTU/T-IEt2cZOQI/AAAAAAAAAyM/Z1dEppfYcJ0/s400/ejb3.jpg" title="Create Enterprise Application in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />It creates web module and EJB modules.<br /><br />Now create a database called <b><i>studentmgt_db</i></b>. Go to services tab and create it.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-wUIVkNJzuQc/T-IHcHG2ylI/AAAAAAAAAyc/vGLPq9_7_oQ/s1600/eejb10.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create database in Netbeans" border="0" height="400" src="http://2.bp.blogspot.com/-wUIVkNJzuQc/T-IHcHG2ylI/AAAAAAAAAyc/vGLPq9_7_oQ/s400/eejb10.jpg" title="Create database in Netbeans" width="293" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Again go to Projects tab and create Persistence Unit. It will generate the <i><b>persistence.xml</b></i> file.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-ElusxtCZhaE/T-IJXxdFu-I/AAAAAAAAAyk/CKhzKNKykbw/s1600/eejb13.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create persistence unit in Netbeans" border="0" height="158" src="http://4.bp.blogspot.com/-ElusxtCZhaE/T-IJXxdFu-I/AAAAAAAAAyk/CKhzKNKykbw/s400/eejb13.jpg" title="Create persistence unit in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-_W6ZGyriamA/T-IKgeNj49I/AAAAAAAAAys/W1tV8PoHBVQ/s1600/eejb14.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create persistence unit in Netbeans" border="0" height="240" src="http://4.bp.blogspot.com/-_W6ZGyriamA/T-IKgeNj49I/AAAAAAAAAys/W1tV8PoHBVQ/s400/eejb14.jpg" title="Create persistence unit in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Give a JNDI name and select data base you created.<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-OBmACtZZgq8/T-ILLMk4nQI/AAAAAAAAAy0/IACdUTJxaZ4/s1600/eejb15.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create persistence unit in Netbeans" border="0" height="161" src="http://4.bp.blogspot.com/-OBmACtZZgq8/T-ILLMk4nQI/AAAAAAAAAy0/IACdUTJxaZ4/s400/eejb15.jpg" title="Create persistence unit in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-iZdnqPwZftg/T-ILveoM60I/AAAAAAAAAy8/DfdpUsGw6lA/s1600/eejb16.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create persistence unit in Netbeans" border="0" height="240" src="http://4.bp.blogspot.com/-iZdnqPwZftg/T-ILveoM60I/AAAAAAAAAy8/DfdpUsGw6lA/s400/eejb16.jpg" title="Create persistence unit in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />It will generate an XML file called <b><i>persistence.xml</i></b><br /><br /><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"><br /> <persistence-unit name="StudentManagementEA-ejbPU" transaction-type="JTA"><br /> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider><br /> <jta-data-source>jdbc/studentmgt</jta-data-source><br /> <exclude-unlisted-classes>false</exclude-unlisted-classes><br /> <properties><br /> <property name="eclipselink.ddl-generation" value="create-tables"/><br /> </properties><br /> </persistence-unit><br /></persistence></pre></blockquote><br />Then we have to create an Entity class.<br /><ul><li> Entity Class must have @Entity annotaion</li><li> Must have a public or protected no-arg constructor</li><li> If it passed as a detached object through a remote interface, Must implement Serializable</li><li> Must have an id annotated with @Id</li></ul>I created a new java class called <i><b>Student.java</b> </i><br /><blockquote><pre class="java" name="code">package com.sameera.domain;<br /><br />import java.io.Serializable;<br />import javax.persistence.*;<br /><br />@Entity<br />@Table(name = "student")<br />public class Student implements Serializable {<br /><br /> @Id<br /> @GeneratedValue<br /> @Column(name = "id")<br /> private Integer id;<br /> @Column(name = "first_name", length = 100)<br /> private String firstName;<br /> @Column(name = "last_name", length = 100)<br /> private String lastName;<br /> @Column(name = "email", length = 100)<br /> private String email;<br /><br /> public String getEmail() {<br /> return email;<br /> }<br /><br /> public void setEmail(String email) {<br /> this.email = email;<br /> }<br /><br /> public String getFirstName() {<br /> return firstName;<br /> }<br /><br /> public void setFirstName(String firstName) {<br /> this.firstName = firstName;<br /> }<br /><br /> public Integer getId() {<br /> return id;<br /> }<br /><br /> public void setId(Integer id) {<br /> this.id = id;<br /> }<br /><br /> public String getLastName() {<br /> return lastName;<br /> }<br /><br /> public void setLastName(String lastName) {<br /> this.lastName = lastName;<br /> }<br />}</pre></blockquote>Create session beans.<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-OQCQEvSFaKo/T-IO78ruIrI/AAAAAAAAAzI/qjWVJ6_xAfw/s1600/eejb4.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create a session bean in Netbeans" border="0" height="241" src="http://3.bp.blogspot.com/-OQCQEvSFaKo/T-IO78ruIrI/AAAAAAAAAzI/qjWVJ6_xAfw/s400/eejb4.jpg" title="Create a session bean in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />I create a Stateless session bean with Local interface.<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-flr_GNobPiY/T-IPgATgHbI/AAAAAAAAAzQ/LxiVb-dyCjs/s1600/ejb5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create a session bean in Netbeans" border="0" height="275" src="http://3.bp.blogspot.com/-flr_GNobPiY/T-IPgATgHbI/AAAAAAAAAzQ/LxiVb-dyCjs/s400/ejb5.jpg" title="Create a session bean in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />It will generate <i>ManageStudentSessionBean.java</i> and <i>ManageStudentSessionBeanLocal.java</i> files.Then we can add business methods.Insert Code -> Add Business Method<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-j3GVipbbEOY/T-IQ5VKWj-I/AAAAAAAAAzY/nldlsKfwxtk/s1600/eejb19.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="152" src="http://2.bp.blogspot.com/-j3GVipbbEOY/T-IQ5VKWj-I/AAAAAAAAAzY/nldlsKfwxtk/s400/eejb19.jpg" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-krJTsJvhLoI/T-IRe55BrUI/AAAAAAAAAzk/dTQN6TLsrPA/s1600/eejb20.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="63" src="http://3.bp.blogspot.com/-krJTsJvhLoI/T-IRe55BrUI/AAAAAAAAAzk/dTQN6TLsrPA/s400/eejb20.jpg" width="400" /></a></div><br /><br /><br /><br /><br /><br />Give method name parameters and return types.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-BKXhEsYSA7Y/T-IR8R0_YdI/AAAAAAAAAzs/mi-vxF0Tilo/s1600/eejb22.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="321" src="http://3.bp.blogspot.com/-BKXhEsYSA7Y/T-IR8R0_YdI/AAAAAAAAAzs/mi-vxF0Tilo/s400/eejb22.jpg" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><b><i>ManageStudentSessionBeanLocal.java</i></b><br /><blockquote><pre class="java" name="code">package com.sameera.session;<br /><br />import com.sameera.domain.Student;<br />import javax.ejb.Local;<br /><br />/**<br /> *<br /> * @author Sameera Jayasekara<br /> */<br />@Local<br />public interface ManageStudentSessionBeanLocal {<br /><br /> boolean addStudent(Student student);<br /> <br />}</pre></blockquote><b><i>ManageStudentSessionBean.java</i></b><br /><blockquote><pre class="java" name="code">package com.sameera.session;<br /><br />import com.sameera.domain.Student;<br />import javax.ejb.Stateless;<br />import javax.persistence.EntityManager;<br />import javax.persistence.PersistenceContext;<br /><br />/**<br /> *<br /> * @author Sameera Jayasekara<br /> */<br />@Stateless<br />public class ManageStudentSessionBean implements ManageStudentSessionBeanLocal {<br /><br /> @PersistenceContext<br /> private EntityManager entityManager;<br /><br /> public boolean addStudent(Student student) {<br /><br /> entityManager.persist(student);<br /><br /> return true;<br /> }<br />}<br /></pre></blockquote>I didn't do exception handling and other stuff. Just added simple persist code and returned true. <br /><br />Now you can deploy <b>EJB</b> module.<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-rJ3chK_q4ss/T-IULKh2NGI/AAAAAAAAAz0/Y0UmK0uEKtY/s1600/eejb24.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="152" src="http://3.bp.blogspot.com/-rJ3chK_q4ss/T-IULKh2NGI/AAAAAAAAAz0/Y0UmK0uEKtY/s320/eejb24.jpg" width="320" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Now go to database view and see generated tables.<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-_JN4yWG4yF4/T-IVWQEs8rI/AAAAAAAAAz8/-q_7gCdxbfI/s1600/eejb25.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-_JN4yWG4yF4/T-IVWQEs8rI/AAAAAAAAAz8/-q_7gCdxbfI/s1600/eejb25.jpg" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Now start working on web module.<br />In index file I created a form to fill data of a student and submit to ManageStudentServlet. Add this code to <b><i>index.jsp</i></b><br /><blockquote><pre class="html" name="code"><%@page contentType="text/html" pageEncoding="UTF-8"%><br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<br /> "http://www.w3.org/TR/html4/loose.dtd"><br /><br /><html><br /> <head><br /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><br /> <title>EJB3 JPA Glassfish - codesstore.blogspot.com</title><br /> </head><br /> <body><br /><br /> <form action="ManageStudentServlet" method="POST"><br /><br /> <table border="0" width="100%"><br /> <tr><br /> <td colspan="3"> ${message}</td><br /> </tr><br /> <tr><br /> <td>First Name</td><br /> <td>:</td><br /> <td><input type="text" name="fname" value="" /></td><br /> </tr><br /> <tr><br /> <td>Last Name</td><br /> <td>:</td><br /> <td><input type="text" name="lname" value="" /></td><br /> </tr><br /> <tr><br /> <td>Email</td><br /> <td>:</td><br /> <td><input type="text" name="email" value="" /></td><br /> </tr><br /> <tr><br /> <td></td><br /> <td></td><br /> <td><input type="submit" value="Add" name="Add" /></td><br /> </tr><br /> </table><br /><br /> </form><br /><br /> </body><br /></html></pre></blockquote><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-KsfaQEs7PX4/T-M_D6WIaII/AAAAAAAAA0k/brHETcOlkNU/s1600/eejb26.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="80" src="http://3.bp.blogspot.com/-KsfaQEs7PX4/T-M_D6WIaII/AAAAAAAAA0k/brHETcOlkNU/s400/eejb26.jpg" width="400" /></a></div><br /><br /><br /><br /><br /><br />Create a servlet to handle the request.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-wXMr1cOxN6w/T-M_9c9XI-I/AAAAAAAAA0s/Txqe6HoqKGI/s1600/eejb7.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create a Servlet in Netbeans" border="0" height="210" src="http://3.bp.blogspot.com/-wXMr1cOxN6w/T-M_9c9XI-I/AAAAAAAAA0s/Txqe6HoqKGI/s400/eejb7.jpg" title="Create a Servlet in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />I gave the name ManageStudentServlet<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-YyPPGN0X69A/T-NAqyKimCI/AAAAAAAAA00/wY5wLezO9Oc/s1600/ejb8.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create a Servlet in Netbeans" border="0" height="275" src="http://4.bp.blogspot.com/-YyPPGN0X69A/T-NAqyKimCI/AAAAAAAAA00/wY5wLezO9Oc/s400/ejb8.jpg" title="Create a Servlet in Netbeans" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Call to session beans in EJB module using<i> dependancy injection</i><br />Insert Code -> Call Enterprise Bean<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-ZKwdFiQEb80/T-NCh8dkefI/AAAAAAAAA1E/SRU1f7guT7A/s1600/eejb23.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="121" src="http://3.bp.blogspot.com/-ZKwdFiQEb80/T-NCh8dkefI/AAAAAAAAA1E/SRU1f7guT7A/s400/eejb23.jpg" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /> Select ManageStudentSessionBean from list.<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-7pvlV-XMoLc/T-NCNL295wI/AAAAAAAAA08/Bx1xSKt68RQ/s1600/eejb27.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="90" src="http://2.bp.blogspot.com/-7pvlV-XMoLc/T-NCNL295wI/AAAAAAAAA08/Bx1xSKt68RQ/s400/eejb27.jpg" width="400" /></a></div><br /><br /><br /><br /><br /><br /><br /><i><b>ManageStudentServlet.java</b></i><br /><blockquote><pre class="java" name="code">package com.sameera.controller;<br /><br />import com.sameera.domain.Student;<br />import com.sameera.session.ManageStudentSessionBeanLocal;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br />import javax.ejb.EJB;<br />import javax.servlet.RequestDispatcher;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br /><br />/**<br /> *<br /> * @author Sameera Jayasekara<br /> */<br /><br />public class ManageStudentServlet extends HttpServlet {<br /><br /> @EJB<br /> private ManageStudentSessionBeanLocal manageStudentSessionBean;<br /><br /><br /> protected void processRequest(HttpServletRequest request, HttpServletResponse response)<br /> throws ServletException, IOException {<br /><br /> response.setContentType("text/html;charset=UTF-8");<br /> PrintWriter out = response.getWriter();<br /> String message = "";<br /><br /> String firstName = request.getParameter("fname");<br /> String lastName = request.getParameter("lname");<br /> String email = request.getParameter("email");<br /><br /> Student student = new Student();<br /> student.setFirstName(firstName);<br /> student.setLastName(lastName);<br /> student.setEmail(email);<br /> <br /> if (manageStudentSessionBean.addStudent(student)) {<br /> message = "Student Successfuly Added";<br /> } else {<br /> message = "Student Adding Failed";<br /> }<br /><br /> request.setAttribute("message", message);<br /> RequestDispatcher rd = request.getRequestDispatcher("index.jsp");<br /> rd.forward(request, response);<br /><br /> }<br /><br /> @Override<br /> protected void doGet(HttpServletRequest request, HttpServletResponse response)<br /> throws ServletException, IOException {<br /> processRequest(request, response);<br /> }<br /><br /> @Override<br /> protected void doPost(HttpServletRequest request, HttpServletResponse response)<br /> throws ServletException, IOException {<br /> processRequest(request, response);<br /> }<br /><br /> @Override<br /> public String getServletInfo() {<br /> return "Short description";<br /> }<br /><br />}</pre></blockquote><br /><i><b>web.xml </b></i>configuration file looks like this.<br /><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><br /> <servlet><br /> <servlet-name>ManageStudentServlet</servlet-name><br /> <servlet-class>com.sameera.controller.ManageStudentServlet</servlet-class><br /> </servlet><br /><br /> <servlet-mapping><br /> <servlet-name>ManageStudentServlet</servlet-name><br /> <url-pattern>/ManageStudentServlet</url-pattern><br /> </servlet-mapping><br /><br /> <session-config><br /> <session-timeout><br /> 30<br /> </session-timeout><br /> </session-config><br /><br /> <welcome-file-list><br /> <welcome-file>index.jsp</welcome-file><br /> </welcome-file-list><br /><br /></web-app></pre></blockquote>Now deploy the web module and run EnterpriseApplication.<br />Check the database data will be added.<br /><br />Note: I added MySQL connector <i><b>mysql-connector-java-5.1.6-bin.jar</b> </i>to .../GF3/domain1/lib folder in glassfish.Goto services tab and right click on glassfish -> properties find glassfish domain folder.Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com1tag:blogger.com,1999:blog-5414775399749639642.post-51538282800087969162012-07-05T09:41:00.000+05:302012-07-06T11:43:51.357+05:30EJB3 and JPA step by step tutorial using EclipseHere I explain step by step how to create an EJB 3 with JPA application in Eclipse IDE.<br /><a name='more'></a>This tutorial is for beginners who want to learn steps to create EJB persistence application with Eclipse and Jboss.<br /><br /><u>Tools used</u><br /><br /><a href="http://www.eclipse.org/">Eclipse (Galileo)</a><br /><a href="http://www.jboss.org/">Jboss-5.1.0.GA</a><br /><a href="http://www.mysql.com/">MySQL database</a><br /><br />First of all I'll create a database called <b><i>studentmgt_db</i></b>. You can use MySQL GUI tool like MySQL Query Browser or MySQL Work Bench to create a database.<br /><br />Then I'm going to create a datasource. Go to your jboss directory ..<b>jboss-5.1.0.GA\docs\examples\jca</b> inside that folder there is file called <i><b>mysql-ds.xml</b></i>. I copied that file to ...<b>jboss-5.1.0.GA\server\default\deploy</b>. Then you can add your database details to that file.<br /><br /><h3> mysql-ds.xml</h3><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><br /><!-- $Id: mysql-ds.xml 41017 2006-02-07 14:26:14Z acoliver $ --><br /><!-- Datasource config for MySQL using 3.0.9 available from:<br />http://www.mysql.com/downloads/api-jdbc-stable.html<br />--><br /><br /><datasources><br /> <local-tx-datasource><br /> <jndi-name>StudentMgtDS</jndi-name><br /> <connection-url>jdbc:mysql://localhost:3306/studentmgt_db</connection-url><br /> <driver-class>com.mysql.jdbc.Driver</driver-class><br /> <user-name>root</user-name><br /> <password>123</password><br /> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name><br /> <!-- should only be used on drivers after 3.22.1 with "ping" support<br /> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name><br /> --><br /> <!-- sql to call when connection is created<br /> <new-connection-sql>some arbitrary sql</new-connection-sql><br /> --><br /> <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers<br /> <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql><br /> --><br /><br /> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --><br /> <metadata><br /> <type-mapping>mySQL</type-mapping><br /> </metadata><br /> </local-tx-datasource><br /></datasources></pre></blockquote> Now create EJB project.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-55NCmKFjvUY/T_Bvlz_0-JI/AAAAAAAAA3Y/iot-tM5fSBE/s1600/e1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create EJB project in Eclipse" border="0" src="http://3.bp.blogspot.com/-55NCmKFjvUY/T_Bvlz_0-JI/AAAAAAAAA3Y/iot-tM5fSBE/s1600/e1.jpg" title="Create EJB project in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Create a new EJB project called <b>StudentManagementEJB</b>. I use JBoss server as application server.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-yVkk-k6z79g/T_BxM15bbbI/AAAAAAAAA3g/hcclMgoaHcs/s1600/e2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create EJB project in Eclipse" border="0" src="http://2.bp.blogspot.com/-yVkk-k6z79g/T_BxM15bbbI/AAAAAAAAA3g/hcclMgoaHcs/s1600/e2.jpg" title="Create EJB project in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Create a xml file called <b>persistence.xml</b> in <b>META-INF</b> directory.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-N5ukMnLVlyE/T_BzLpG292I/AAAAAAAAA3o/yuKa6W9riRo/s1600/3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create persistence.xml in Eclipse" border="0" src="http://3.bp.blogspot.com/-N5ukMnLVlyE/T_BzLpG292I/AAAAAAAAA3o/yuKa6W9riRo/s1600/3.jpg" title="Create persistence.xml in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><h3> persistence.xml</h3><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><persistence version="2.0"<br /> xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br /> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"><br /> <persistence-unit name="StudentMgtPU"<br /> transaction-type="JTA"><br /> <jta-data-source>java:/StudentMgtDS</jta-data-source><br /> <properties><br /> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /><br /> <property name="hibernate.hbm2ddl.auto" value="create" /><br /> </properties><br /> </persistence-unit><br /></persistence><br /><br /></pre></blockquote>Then we have to create an Entity class. Right click on the project -> New -> Class <br /><br /><ul><li> Entity Class must have @Entity annotaion</li><li> Must have a public or protected no-arg constructor</li><li> If it passed as a detached object through a remote interface, Must implement Serializable</li><li> Must have an id annotated with @Id</li></ul>I created a entity class called <i><b>Student.java</b></i><br /><i><b> </b> </i><br /><h3> Student.java</h3><blockquote><pre class="java" name="code">package com.sameera.domain;<br /><br />import java.io.Serializable;<br />import javax.persistence.*;<br /><br />@Entity<br />@Table(name = "student")<br />public class Student implements Serializable {<br /><br /> private static final long serialVersionUID = 1L;<br /><br /> @Id<br /> @GeneratedValue<br /> @Column(name = "id")<br /> private Integer id;<br /> @Column(name = "first_name", length = 100)<br /> private String firstName;<br /> @Column(name = "last_name", length = 100)<br /> private String lastName;<br /> @Column(name = "email", length = 100)<br /> private String email;<br /><br /> public String getEmail() {<br /> return email;<br /> }<br /><br /> public void setEmail(String email) {<br /> this.email = email;<br /> }<br /><br /> public String getFirstName() {<br /> return firstName;<br /> }<br /><br /> public void setFirstName(String firstName) {<br /> this.firstName = firstName;<br /> }<br /><br /> public Integer getId() {<br /> return id;<br /> }<br /><br /> public void setId(Integer id) {<br /> this.id = id;<br /> }<br /><br /> public String getLastName() {<br /> return lastName;<br /> }<br /><br /> public void setLastName(String lastName) {<br /> this.lastName = lastName;<br /> }<br />}</pre></blockquote>Create session beans.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-ouED8Aq5ZV8/T_B6ioqJ8LI/AAAAAAAAA30/Zv3YAd6inzg/s1600/4.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create a Session Bean in Eclipse" border="0" src="http://2.bp.blogspot.com/-ouED8Aq5ZV8/T_B6ioqJ8LI/AAAAAAAAA30/Zv3YAd6inzg/s1600/4.jpg" title="Create a Session Bean in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />I create a Stateless session bean with Local interface.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-cf5tAy9QmJs/T_B7SsWomXI/AAAAAAAAA38/ShOnGJ6oOwY/s1600/5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create a Session Bean in Eclipse" border="0" src="http://3.bp.blogspot.com/-cf5tAy9QmJs/T_B7SsWomXI/AAAAAAAAA38/ShOnGJ6oOwY/s1600/5.jpg" title="Create a Session Bean in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />I added business methods and added add student code.<br /><br /><h3> ManageStudentSessionBeanLocal.java</h3><blockquote><pre class="java" name="code">package com.sameera.session;<br /><br />import javax.ejb.Local;<br /><br />import com.sameera.domain.Student;<br /><br />/**<br /> * <br /> * @author Sameera Jayasekara<br /> * <br /> */<br />@Local<br />public interface ManageStudentSessionBeanLocal {<br /> public boolean addStudent(Student Student);<br />}<br /></pre></blockquote><h3> ManageStudentSessionBean.java</h3><blockquote><pre class="java" name="code">package com.sameera.session;<br /><br />import javax.ejb.Stateless;<br />import javax.persistence.EntityManager;<br />import javax.persistence.PersistenceContext;<br /><br />import com.sameera.domain.Student;<br /><br />/**<br /> * Session Bean implementation class ManageStudentSessionBean<br /> * <br /> * @author Sameera Jayasekara<br /> */<br />@Stateless<br />public class ManageStudentSessionBean implements ManageStudentSessionBeanLocal {<br /><br /> @PersistenceContext<br /> private EntityManager entityManager;<br /><br /> @Override<br /> public boolean addStudent(Student student) {<br /> entityManager.persist(student);<br /> return true;<br /> }<br /><br />}<br /><br /><br /></pre></blockquote>Run EJB application on Jboss server.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-FCt89xDzdgI/T_CFu_9TexI/AAAAAAAAA4I/ZHXzv8NLAg8/s1600/6.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Run EJB project in Eclipse" border="0" src="http://2.bp.blogspot.com/-FCt89xDzdgI/T_CFu_9TexI/AAAAAAAAA4I/ZHXzv8NLAg8/s1600/6.jpg" title="Run EJB project in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />See the server console JNDI bindings.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-DJAneeo-Ujc/T_CMPib8AZI/AAAAAAAAA4c/eekXGd2MT08/s1600/9.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="JNDI bindings in JBoss console" border="0" src="http://2.bp.blogspot.com/-DJAneeo-Ujc/T_CMPib8AZI/AAAAAAAAA4c/eekXGd2MT08/s1600/9.jpg" title="JNDI bindings in JBoss console" /></a></div><br /><br /> Now see the database. Student table is created.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-PJfNnK9ycHw/T_CKUegnEYI/AAAAAAAAA4U/QTE4swleVIQ/s1600/8.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Created tables in MySQL Workbench" border="0" src="http://2.bp.blogspot.com/-PJfNnK9ycHw/T_CKUegnEYI/AAAAAAAAA4U/QTE4swleVIQ/s1600/8.jpg" title="Created tables in MySQL Workbench" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br />Now start working on web application.<br />File -> New -> Dynamic Web Project<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-lHElUlmqtek/T_HgETc6URI/AAAAAAAAA4o/pJ9aT7wA5i4/s1600/10.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create a Dynamic web project in Eclipse" border="0" src="http://3.bp.blogspot.com/-lHElUlmqtek/T_HgETc6URI/AAAAAAAAA4o/pJ9aT7wA5i4/s1600/10.jpg" title="Create a Dynamic web project in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Go next Select 'Generate web.xml deployment descriptor' and finish.<br /><br />Right click on web content and create a new jsp called <b>index.jsp</b>. <br /><br /><h3> index.jsp</h3><blockquote><pre class="html" name="code"><%@page contentType="text/html" pageEncoding="UTF-8"%><br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<br /> "http://www.w3.org/TR/html4/loose.dtd"><br /><br /><html><br /> <head><br /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><br /> <title>EJB3 JPA Jboss - codesstore.blogspot.com</title><br /> </head><br /> <body><br /><br /> <form action="ManageStudentServlet" method="POST"><br /><br /> <table border="0" width="100%"><br /> <tr><br /> <td colspan="3"> ${message}</td><br /> </tr><br /> <tr><br /> <td>First Name</td><br /> <td>:</td><br /> <td><input type="text" name="fname" value="" /></td><br /> </tr><br /> <tr><br /> <td>Last Name</td><br /> <td>:</td><br /> <td><input type="text" name="lname" value="" /></td><br /> </tr><br /> <tr><br /> <td>Email</td><br /> <td>:</td><br /> <td><input type="text" name="email" value="" /></td><br /> </tr><br /> <tr><br /> <td></td><br /> <td></td><br /> <td><input type="submit" value="Add" name="Add" /></td><br /> </tr><br /> </table><br /><br /> </form><br /><br /> </body><br /></html></pre></blockquote><br />Create a servlet to handle the request.<br />File -> New -> Servlet<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-KGgeMASE_y8/T_Hjod1255I/AAAAAAAAA40/OXU-xJ8z7vo/s1600/11.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Create a Servlet in Eclipse" border="0" src="http://1.bp.blogspot.com/-KGgeMASE_y8/T_Hjod1255I/AAAAAAAAA40/OXU-xJ8z7vo/s1600/11.jpg" title="Create a Servlet in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Before calling Enterprise beans we have to add the ejb project to build path.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-ksVF3Vj6xnc/T_HlcqRU4eI/AAAAAAAAA48/lMeeQ1bjE9M/s1600/12.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Configure build path in Eclipse" border="0" src="http://2.bp.blogspot.com/-ksVF3Vj6xnc/T_HlcqRU4eI/AAAAAAAAA48/lMeeQ1bjE9M/s1600/12.jpg" title="Configure build path in Eclipse" /></a></div><br /> Go to projects tab and add StudentManagementEJB project.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-QDkXhi7a7HU/T_Hl3JEoCWI/AAAAAAAAA5E/BslgDpkxGVQ/s1600/13.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Configure build path in Eclipse" border="0" src="http://4.bp.blogspot.com/-QDkXhi7a7HU/T_Hl3JEoCWI/AAAAAAAAA5E/BslgDpkxGVQ/s1600/13.jpg" title="Configure build path in Eclipse" /></a></div><br /><h3> ManageStudentServlet.java</h3><blockquote><pre class="java" name="code">package com.sameera.controller;<br /><br />import java.io.IOException;<br /><br />import javax.naming.Context;<br />import javax.naming.InitialContext;<br />import javax.naming.NamingException;<br />import javax.servlet.RequestDispatcher;<br />import javax.servlet.ServletConfig;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br />import com.sameera.domain.Student;<br />import com.sameera.session.ManageStudentSessionBeanLocal;<br /><br />/**<br /> * <br /> * @author Sameera Jayasekara<br /> * <br /> */<br />public class ManageStudentServlet extends HttpServlet {<br /><br /> private static final long serialVersionUID = 1L;<br /> private ManageStudentSessionBeanLocal manageStudentSessionBeanLocal;<br /><br /> public void init(ServletConfig config) throws ServletException {<br /><br /> super.init(config);<br /> try {<br /><br /> Context context = new InitialContext();<br /> manageStudentSessionBeanLocal = (ManageStudentSessionBeanLocal) context<br /> .lookup("ManageStudentSessionBean/local");<br /><br /> } catch (NamingException e) {<br /> e.printStackTrace();<br /> }<br /><br /> }<br /><br /> protected void doGet(HttpServletRequest request,<br /> HttpServletResponse response) throws ServletException, IOException {<br /><br /> }<br /><br /> protected void doPost(HttpServletRequest request,<br /> HttpServletResponse response) throws ServletException, IOException {<br /><br /> String message = "";<br /><br /> String firstName = request.getParameter("fname");<br /> String lastName = request.getParameter("lname");<br /> String email = request.getParameter("email");<br /><br /> Student student = new Student();<br /> student.setFirstName(firstName);<br /> student.setLastName(lastName);<br /> student.setEmail(email);<br /><br /> if (manageStudentSessionBeanLocal.addStudent(student)) {<br /> message = "Student Successfuly Added";<br /> } else {<br /> message = "Student Adding Failed";<br /> }<br /><br /> request.setAttribute("message", message);<br /> RequestDispatcher rd = request.getRequestDispatcher("index.jsp");<br /> rd.forward(request, response);<br /><br /> }<br /><br />}<br /></pre></blockquote>I looked up <b>ManageStudentSessionBean/local</b>. You can see server console to find JNDI bindings(see image given above)<br /><br />You can use @EJB annotaions to dependancy injection in a servlet but I tried it with JBoss that didn't work.Then I used @EJB(mappedName="Test"), @EJB with mappedName attribute( @Stateless(mappedName="Test") also used).Then it worked with remote interface. But I prefer JNDI lookup.<br /><br /><i><b>web.xml </b></i>configuration file looks like this.<br /><br /><h3> web.xml</h3><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"><br /> <display-name>StudentManagementWeb</display-name><br /> <welcome-file-list><br /> <welcome-file>index.jsp</welcome-file><br /> </welcome-file-list><br /> <servlet><br /> <description></description><br /> <display-name>ManageStudentServlet</display-name><br /> <servlet-name>ManageStudentServlet</servlet-name><br /> <servlet-class>com.sameera.controller.ManageStudentServlet</servlet-class><br /> </servlet><br /> <servlet-mapping><br /> <servlet-name>ManageStudentServlet</servlet-name><br /> <url-pattern>/ManageStudentServlet</url-pattern><br /> </servlet-mapping><br /></web-app></pre></blockquote>Now You can run the web application.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-i0TYM74YBeg/T_SAvGNIO7I/AAAAAAAAA5Q/Aes3Mq9GW7c/s1600/14.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Run a web project in Eclipse" border="0" src="http://1.bp.blogspot.com/-i0TYM74YBeg/T_SAvGNIO7I/AAAAAAAAA5Q/Aes3Mq9GW7c/s1600/14.jpg" title="Run a web project in Eclipse" /></a></div> Check the database data will be added.<br /><br /><h3> Project structure in Eclipse</h3><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-U1326uCNVKw/T_SCZ2SGCMI/AAAAAAAAA5Y/Q2pqEBYI2cI/s1600/15.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="EJB application project structure in Eclipse" border="0" src="http://3.bp.blogspot.com/-U1326uCNVKw/T_SCZ2SGCMI/AAAAAAAAA5Y/Q2pqEBYI2cI/s1600/15.jpg" title="EJB application project structure in Eclipse" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Note : I put <b>mysql-connector-java-5.1.5-bin.jar</b> to ...<b>jboss-5.1.0.GA\server\default\lib</b>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com2tag:blogger.com,1999:blog-5414775399749639642.post-72275695467432994242012-04-10T13:31:00.002+05:302012-05-01T17:43:03.246+05:30MySQL CASE WHEN IFMySQL CASE WHEN statements and IF statement example.<br /><a name='more'></a><br /><blockquote><pre class="sql" name="code">CREATE TABLE student (<br /> id int(11) NOT NULL AUTO_INCREMENT,<br /> name varchar(100) NOT NULL,<br /> marks int(11) NOT NULL,<br /> course_type varchar(2) NOT NULL,<br /> PRIMARY KEY (`id`)<br />) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; </pre></blockquote><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-hTyo5JcliWQ/T4PQo5miKcI/AAAAAAAAAt4/D4QTfcOP0dM/s1600/studenttable.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-hTyo5JcliWQ/T4PQo5miKcI/AAAAAAAAAt4/D4QTfcOP0dM/s1600/studenttable.JPG" /></a></div><br /><blockquote><pre class="sql" name="code">SELECT name, marks, CASE<br /> WHEN marks>75 THEN 'A'<br /> WHEN marks>65 THEN 'B'<br /> WHEN marks>50 THEN 'C'<br /> ELSE 'F'<br /> END<br /> AS results <br />FROM student ORDER BY name</pre></blockquote><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-zzplnIB1wsg/T4PQrO-lBhI/AAAAAAAAAuA/JIII_ddDwrg/s1600/case1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-zzplnIB1wsg/T4PQrO-lBhI/AAAAAAAAAuA/JIII_ddDwrg/s1600/case1.JPG" /></a></div><br /><blockquote><pre class="sql" name="code">SELECT name,course_type,<br /> CASE course_type<br /> WHEN 'WE' THEN 'Week End'<br /> WHEN 'WD' THEN 'Week Days'<br /> END AS course<br />FROM student ORDER BY name</pre></blockquote><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-9o9-kqRftvM/T4PQtEZSlQI/AAAAAAAAAuI/4RCe3nkS9t4/s1600/case2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-9o9-kqRftvM/T4PQtEZSlQI/AAAAAAAAAuI/4RCe3nkS9t4/s1600/case2.JPG" /></a></div><br /><blockquote><pre class="sql" name="code">SELECT name, marks, IF(marks >= 50,'PASS','FAIL') AS result<br />FROM student<br />ORDER BY name<br /></pre></blockquote><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-Ibd_PQ-MWPE/T4PQt1pVp_I/AAAAAAAAAuQ/dAQ00V-KaQI/s1600/if.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-Ibd_PQ-MWPE/T4PQt1pVp_I/AAAAAAAAAuQ/dAQ00V-KaQI/s1600/if.JPG" /></a></div>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-23589458058762716862012-04-05T23:24:00.006+05:302012-06-18T20:00:25.032+05:30MySQL Database DumpMySQL Database Dump using Command prompt.<br /><a name='more'></a><b>Get a backup </b><br />command :<br /> mysqldump -u[user name] -p[password] [database name] > [dump file name]<br /><br />eg :<br />C:\Documents and Settings\sameera>mysqldump -u root -p mydb>"C:\Documents and Settings\sameera\Desktop\mydumpfile.sql"<br /><br /><b>Restore Back up</b><br /> 1)<br />command : <br /> mysql -u[user name] -p[password] [database name] < [dump file name]<br /><br />eg : <br /><br /> C:\Documents and Settings\sameera>mysql -u root -p mydb < "C:\Documents and Settings\sameera\Desktop\mydumpfile.sql"<br /><br /><br /><br />2)<br />command :<br />source [dump file name] <br /><br />eg:<br />mysql>create database mydb;<br />mysql> use mydb<br />mysql> source C:/Documents and Settings/sameera/Desktop/mydumpfile.sql;<br /><br />Note: Path separator should be forward slash("/")Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-88845308764050304572012-02-04T00:42:00.000+05:302012-06-21T20:35:06.005+05:30Stored Procedures with JAVAStored Procedures with JAVA using MySQL<br /><a name='more'></a><br /><h3> add_student </h3>For an example I added username ,first name and last name to student table and get auto incremented primay key id and save email and telephone to student_contact table.<br /><blockquote><pre class="sql" name="code">DELIMITER $$<br /><br />CREATE DEFINER=`root`@`localhost` PROCEDURE `add_student`(p_username varchar(20),p_firstname varchar(20),p_lastname varchar(20),p_email varchar(20),p_telephone varchar(20))<br />BEGIN<br /> DECLARE stu_id int(11);<br /> START TRANSACTION;<br /> INSERT INTO student(username,first_name,last_name)<br /> VALUES(p_username,p_firstname,p_lastname);<br /> SELECT id FROM student WHERE username=p_username INTO stu_id;<br /> INSERT INTO student_contact(stu_id,email,telephone) VALUES(stu_id,p_email,p_telephone);<br /> COMMIT;<br /><br />END<br /></pre></blockquote><br /><h3> search_students</h3>This sp returns student records. <br /><blockquote><pre class="sql" name="code">DELIMITER $$<br /><br />CREATE DEFINER=`root`@`localhost` PROCEDURE `search_students`(p_first_name varchar(20))<br />BEGIN<br /> SELECT * FROM student WHERE first_name LIKE concat(p_first_name,'%');<br />END<br /></pre></blockquote><h3> get_firstname_by_username</h3>This sp uses input parameter and out put parameter<br /><blockquote><pre class="sql" name="code">DELIMITER $$<br /><br />CREATE DEFINER=`root`@`localhost` PROCEDURE `get_firstname_by_username`(p_username varchar(20),OUT p_firstname varchar(20))<br />SELECT first_name INTO p_firstname<br />FROM student<br />WHERE username = p_username<br /></pre></blockquote><h3> StudentDAO.java</h3>call stored procedures.<br /><blockquote><pre class="java" name="code">package codesstore.dao;<br /><br />import java.sql.CallableStatement;<br />import java.sql.Connection;<br />import java.sql.ResultSet;<br />import java.sql.SQLException;<br />import java.util.ArrayList;<br />import java.util.List;<br /><br />import codesstore.db.JDBCConnector;<br />import codesstore.domain.Student;<br /><br />public class StudentDAO {<br /> public void addStudent(Student student) {<br /> try {<br /> Connection con = JDBCConnector.getConnection();<br /> CallableStatement proc = con<br /> .prepareCall("{ call add_student(?, ?, ?, ?, ?) }");<br /> proc.setString(1, student.getUsername());<br /> proc.setString(2, student.getFirstName());<br /> proc.setString(3, student.getLastName());<br /> proc.setString(4, student.getEmail());<br /> proc.setString(5, student.getTelephone());<br /> proc.execute();<br /> } catch (SQLException e) {<br /> e.printStackTrace();<br /> }<br /> }<br /><br /> public List<Student> searchStudents(String firstName) {<br /> List<Student> students = new ArrayList<Student>();<br /> try {<br /> Connection con = JDBCConnector.getConnection();<br /> CallableStatement proc = con<br /> .prepareCall("{ call search_students(?) }");<br /><br /> proc.setString(1, firstName);<br /> proc.execute();<br /> ResultSet rs = proc.getResultSet();<br /> while (rs.next()) {<br /> Student s = new Student();<br /> s.setFirstName(rs.getString("first_name"));<br /> s.setLastName(rs.getString("last_name"));<br /> s.setUsername(rs.getString("username"));<br /> students.add(s);<br /> }<br /><br /> } catch (SQLException e) {<br /> e.printStackTrace();<br /> }<br /> return students;<br /> }<br /><br /> public String getFirstNameByUsername(String username) {<br /> String firstName = null;<br /> try {<br /> Connection con = JDBCConnector.getConnection();<br /> CallableStatement proc = con<br /> .prepareCall("{ call get_firstname_by_username(?,?) }");<br /><br /> proc.setString(1, username);<br /> proc.registerOutParameter(2, java.sql.Types.VARCHAR);<br /> proc.execute();<br /> firstName = proc.getString(2);<br /><br /> } catch (SQLException e) {<br /> e.printStackTrace();<br /> }<br /><br /> return firstName;<br /> }<br /><br />} </pre></blockquote><br /> Other files <br /> <h3> web.xml</h3><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br /> xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"<br /> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"<br /> id="WebApp_ID" version="2.5"><br /> <display-name>SPtesting</display-name><br /> <welcome-file-list><br /> <welcome-file>index.jsp</welcome-file><br /> </welcome-file-list><br /> <servlet><br /> <description></description><br /> <display-name>StudentServlet</display-name><br /> <servlet-name>StudentServlet</servlet-name><br /> <servlet-class>codesstore.controller.StudentServlet</servlet-class><br /> </servlet><br /> <servlet-mapping><br /> <servlet-name>StudentServlet</servlet-name><br /> <url-pattern>/StudentServlet</url-pattern><br /> </servlet-mapping><br /></web-app> </pre></blockquote><br /><h3> index.php</h3><blockquote><pre class="html" name="code"><%@ page language="java" contentType="text/html; charset=ISO-8859-1"<br /> pageEncoding="ISO-8859-1"%><br /><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <br /><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><br /><html><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><br /><title>Stored Procedure - codesstore.blogspot.com</title><br /></head><br /><body><br /> <form action="StudentServlet" method="post"><br /> <table><br /> <tr><br /> <td colspan="2">Personal details </td><br /> </tr><br /> <tr><br /> <td>Username</td><br /> <td><input name="username" type="text"/></td><br /> </tr><br /> <tr><br /> <td>First Name</td><br /> <td><input name="fname" type="text"/></td><br /> </tr><br /> <tr><br /> <td>Last Name</td><br /> <td><input name="lname" type="text"/></td><br /> </tr><br /> <tr><br /> <td colspan="2">Contact details </td><br /> </tr><br /> <tr><br /> <td>Email</td><br /> <td><input name="email" type="text"/></td><br /> </tr><br /> <tr><br /> <td>Telephone</td><br /> <td><input name="telephone" type="text"/></td><br /> </tr><br /> <tr><br /> <td></td><br /> <td><input type="submit" value="Add" name="action"> </td><br /> </tr><br /> </table><br /> </form><br /> Search by First name<br /> <form action="StudentServlet" method="post"><br /> <input name="fname" type="text"/><br /> <input type="submit" value="Search" name="action"> <br /> </form><br /> Get first name by Username<br /> <form action="StudentServlet" method="post"><br /> <input name="username" type="text"/><br /> <input type="submit" value="GetFirstName" name="action" > <br /> </form><br /> <br /> <c:forEach items="${students}" var="student"><br /> ${student.username}<br /> ${student.firstName}<br /> ${student.lastName}<br /> <br/><br /> </c:forEach><br /><br /> <c:if test="${firstName != null}"><br /> ${firstName}<br /> </c:if><br /> <br /> <br /></body><br /></html></pre></blockquote><br /><h3> StudentServlet.java</h3><blockquote><pre class="java" name="code">package codesstore.controller;<br /><br />import java.io.IOException;<br />import java.util.List;<br /><br />import javax.servlet.RequestDispatcher;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br />import codesstore.dao.StudentDAO;<br />import codesstore.domain.Student;<br /><br />public class StudentServlet extends HttpServlet {<br /> private static final long serialVersionUID = 1L;<br /><br /> public StudentServlet() {<br /> super();<br /><br /> }<br /><br /> protected void doGet(HttpServletRequest request,<br /> HttpServletResponse response) throws ServletException, IOException {<br /><br /> }<br /><br /> protected void doPost(HttpServletRequest request,<br /> HttpServletResponse response) throws ServletException, IOException {<br /> String action = request.getParameter("action");<br /> if (action != null && action.equals("Search")) {<br /> <br /> String firstName = request.getParameter("fname");<br /> StudentDAO studentDAO = new StudentDAO();<br /> List<Student> students = studentDAO.searchStudents(firstName);<br /> request.setAttribute("students", students);<br /> RequestDispatcher rd = request.getRequestDispatcher("index.jsp");<br /> rd.forward(request, response);<br /> <br /> } else if (action != null && action.equals("GetFirstName")) {<br /> <br /> String username = request.getParameter("username");<br /> StudentDAO studentDAO = new StudentDAO();<br /> String firstName = studentDAO.getFirstNameByUsername(username);<br /> <br /> request.setAttribute("firstName", firstName);<br /> RequestDispatcher rd = request.getRequestDispatcher("index.jsp");<br /> rd.forward(request, response);<br /><br /> } else if (action != null && action.equals("Add")) {<br /><br /> String userName = request.getParameter("username");<br /> String firstName = request.getParameter("fname");<br /> String lastName = request.getParameter("lname");<br /> String email = request.getParameter("email");<br /> String telephone = request.getParameter("telephone");<br /><br /> Student student = new Student();<br /> student.setUsername(userName);<br /> student.setFirstName(firstName);<br /> student.setLastName(lastName);<br /> student.setEmail(email);<br /> student.setTelephone(telephone);<br /><br /> StudentDAO studentDAO = new StudentDAO();<br /> studentDAO.addStudent(student);<br /> <br /> RequestDispatcher rd = request.getRequestDispatcher("index.jsp");<br /> rd.forward(request, response);<br /> <br /> }<br /><br /> }<br /><br />}</pre></blockquote><br /><h3> Student.java</h3><blockquote><pre class="java" name="code">package codesstore.domain;<br /><br />public class Student {<br /> String username;<br /> String firstName;<br /> String lastName;<br /> String email;<br /> String telephone;<br /><br /> public String getUsername() {<br /> return username;<br /> }<br /><br /> public void setUsername(String username) {<br /> this.username = username;<br /> }<br /><br /> public String getFirstName() {<br /> return firstName;<br /> }<br /><br /> public void setFirstName(String firstName) {<br /> this.firstName = firstName;<br /> }<br /><br /> public String getLastName() {<br /> return lastName;<br /> }<br /><br /> public void setLastName(String lastName) {<br /> this.lastName = lastName;<br /> }<br /><br /> public String getEmail() {<br /> return email;<br /> }<br /><br /> public void setEmail(String email) {<br /> this.email = email;<br /> }<br /><br /> public String getTelephone() {<br /> return telephone;<br /> }<br /><br /> public void setTelephone(String telephone) {<br /> this.telephone = telephone;<br /> }<br /><br />}</pre></blockquote><br /><h3> JDBCConnector.java</h3><blockquote><pre class="java" name="code">package codesstore.db;<br /><br />import java.sql.Connection;<br />import java.sql.DriverManager;<br />import java.util.logging.Level;<br />import java.util.logging.Logger;<br /><br />public class JDBCConnector {<br /> private static Connection con;<br /> public static Connection getConnection() {<br /> if (con == null) {<br /> try {<br /> Class.forName("com.mysql.jdbc.Driver");<br /> con = DriverManager.<br /> getConnection("jdbc:mysql://localhost:3306/mydbsp", "root", "123");<br /> } catch (Exception ex) {<br /> Logger.getLogger(JDBCConnector.class.getName()).log(Level.SEVERE, null, ex);<br /> }<br /> }<br /> return con;<br /> }<br />}</pre></blockquote><br />sql tables<br /><blockquote><pre class="sql" name="code">CREATE TABLE `student` (<br /> `id` int(11) NOT NULL AUTO_INCREMENT,<br /> `first_name` varchar(45) DEFAULT NULL,<br /> `last_name` varchar(45) DEFAULT NULL,<br /> `username` varchar(45) NOT NULL,<br /> PRIMARY KEY (`id`),<br /> UNIQUE KEY `username` (`username`)<br />) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;</pre></blockquote><br /><blockquote><pre class="sql" name="code">CREATE TABLE `student_contact` (<br /> `stu_id` int(11) NOT NULL,<br /> `email` varchar(20) DEFAULT NULL,<br /> `telephone` varchar(20) DEFAULT NULL,<br /> PRIMARY KEY (`stu_id`),<br /> CONSTRAINT `FK_student_personal_1` FOREIGN KEY (`stu_id`) REFERENCES `student` (`id`) ON DELETE CASCADE ON UPDATE CASCADE<br />) ENGINE=InnoDB DEFAULT CHARSET=latin1;</pre></blockquote><br />File structure in eclipse.<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-HCQNL9uo2-Q/TyyzM9pHBQI/AAAAAAAAAr8/qVGTizpvR6A/s1600/sp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-HCQNL9uo2-Q/TyyzM9pHBQI/AAAAAAAAAr8/qVGTizpvR6A/s1600/sp.jpg" /></a></div>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-35309711068723125472012-01-22T23:30:00.000+05:302012-06-21T12:02:50.270+05:30Struts 2 + HibernateStruts2 Hibernate integration example..<br /><a name='more'></a><br /><b>Tools</b><br />Eclipse IDE<br />Jboss 5<br /><br />Create a dynamic web project in eclipse and add following files.<br /><h3> web.xml</h3><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"><br /> <display-name>StrutsHibernate</display-name><br /> <filter><br /> <filter-name>struts2</filter-name><br /> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class><br /> </filter><br /> <filter-mapping><br /> <filter-name>struts2</filter-name><br /> <url-pattern>/*</url-pattern><br /> </filter-mapping><br /> <welcome-file-list><br /> <welcome-file>index.jsp</welcome-file><br /> </welcome-file-list><br /></web-app></pre></blockquote><br /><h3> hibernate.cfg.xml</h3><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><br /><hibernate-configuration><br /> <session-factory><br /> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><br /> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><br /> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mydb</property><br /> <property name="hibernate.connection.username">root</property><br /> <property name="hibernate.connection.password">123</property><br /> <mapping class="codesstore.strutshibernate.domain.Student" /><br /> </session-factory><br /></hibernate-configuration><br /><br /><!-- for oracle --><br /><!-- <br /><hibernate-configuration><br /> <session-factory><br /> <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property><br /> <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property><br /> <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:mydb</property><br /> <property name="hibernate.connection.username">scott</property><br /> <property name="hibernate.connection.password">tiger</property><br /> <mapping class="codesstore.strutshibernate.domain.Student" /><br /> </session-factory><br /></hibernate-configuration><br />--><br /><br /> </pre></blockquote><br /><h3> struts.xml</h3><blockquote><pre class="xml" name="code"><!DOCTYPE struts PUBLIC<br />"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"<br />"http://struts.apache.org/dtds/struts-2.0.dtd"><br /><br /><struts><br /> <!-- Configuration for the default package. --><br /> <package name="default" extends="struts-default"><br /> <action name="addStudent" class="codesstore.strutshibernate.action.StudentAction"<br /> method="addStudent"><br /> <result name="success">student.jsp</result><br /> <result name="input">student.jsp</result><br /> </action><br /> <action name="listStudents" class="codesstore.strutshibernate.action.StudentAction"<br /> method="listStudents"><br /> <result name="success">student.jsp</result><br /> <result name="input">student.jsp</result><br /> </action><br /> </package><br /></struts></pre></blockquote><br /><h3> HibernateUtil.java</h3><blockquote><pre class="java" name="code">package codesstore.strutshibernate.util;<br /><br />import org.hibernate.SessionFactory;<br />import org.hibernate.cfg.AnnotationConfiguration;<br /><br /><br />public class HibernateUtil {<br /><br /> private static final SessionFactory sessionFactory;<br /><br /> static {<br /> try {<br /> sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();<br /> } catch (Exception ex) {<br /> ex.printStackTrace();<br /> throw new ExceptionInInitializerError();<br /> }<br /> }<br /><br /> public static SessionFactory getSessionFactory() {<br /> return sessionFactory;<br /> }<br />} </pre></blockquote><br /><h3> Student.java</h3><blockquote><pre class="java" name="code">package codesstore.strutshibernate.domain;<br /><br />import java.io.Serializable;<br />import java.util.Date;<br /><br />import javax.persistence.Column;<br />import javax.persistence.Entity;<br />import javax.persistence.GeneratedValue;<br />import javax.persistence.GenerationType;<br />import javax.persistence.Id;<br />import javax.persistence.Table;<br />import javax.persistence.Temporal;<br />import javax.persistence.TemporalType;<br /><br />@Entity<br />@Table(name = "STUDENT")<br />public class Student implements Serializable {<br /><br /> @Id<br /> @GeneratedValue(strategy = GenerationType.AUTO)<br /> @Column(name = "ID")<br /> private Integer id;<br /> @Column(name = "NAME", length = 100)<br /> private String username;<br /> @Column(name = "EMAIL", length = 100)<br /> private String email;<br /> @Column(name="ADDED_TIME")<br /> @Temporal(TemporalType.DATE)<br /> private Date addedTime;<br /><br /> public String getEmail() {<br /> return email;<br /> }<br /><br /> public void setEmail(String email) {<br /> this.email = email;<br /> }<br /><br /> public Date getAddedTime() {<br /> return addedTime;<br /> }<br /><br /> public void setAddedTime(Date addedTime) {<br /> this.addedTime = addedTime;<br /> }<br /><br /> public Integer getId() {<br /> return id;<br /> }<br /><br /> public void setId(Integer id) {<br /> this.id = id;<br /> }<br /><br /> public String getUsername() {<br /> return username;<br /> }<br /><br /> public void setUsername(String username) {<br /> this.username = username;<br /> }<br /><br />}<br /></pre></blockquote><br /><h3> StudentDao.java</h3><blockquote><pre class="java" name="code">package codesstore.strutshibernate.dao;<br /><br />import java.util.List;<br /><br />import codesstore.strutshibernate.domain.Student;<br /><br />public interface StudentDao {<br /> public boolean saveStudent(Student student);<br /> public List<Student> listStudents();<br />}<br /><br /></pre></blockquote><br /><h3> StudentDaoImpl.java</h3><blockquote><pre class="java" name="code">package codesstore.strutshibernate.dao;<br /><br />import java.util.List;<br /><br />import org.hibernate.Query;<br />import org.hibernate.Session;<br />import org.hibernate.Transaction;<br /><br />import codesstore.strutshibernate.domain.Student;<br />import codesstore.strutshibernate.util.HibernateUtil;<br /><br />public class StudentDaoImpl implements StudentDao {<br /><br /> @Override<br /> public boolean saveStudent(Student student) {<br /><br /> Session session = null;<br /> Transaction transaction = null;<br /> try {<br /> session = HibernateUtil.getSessionFactory().openSession();<br /> transaction = session.beginTransaction();<br /> session.save(student);<br /> transaction.commit();<br /> return true;<br /> } catch (Exception e) {<br /> if (transaction != null) {<br /> transaction.rollback();<br /> }<br /> return false;<br /> } finally {<br /> if (session != null) {<br /> session.close();<br /> }<br /> }<br /> }<br /><br /> @Override<br /> public List<Student> listStudents() {<br /> Session session = null;<br /> Transaction transaction = null;<br /> try {<br /> session = HibernateUtil.getSessionFactory().openSession();<br /> transaction = session.beginTransaction();<br /> Query query = session.createQuery("FROM Student");<br /> List<Student> students = query.list();<br /> transaction.commit();<br /> return students;<br /> } catch (Exception e) {<br /> e.printStackTrace();<br /> if (transaction != null) {<br /> transaction.rollback();<br /> }<br /> return null;<br /> } finally {<br /> if (session != null) {<br /> session.close();<br /> }<br /> }<br /> }<br /><br />}<br /></pre></blockquote><br /><h3> StudentAction.java</h3><blockquote><pre class="java" name="code">package codesstore.strutshibernate.action;<br /><br />import java.util.Date;<br />import java.util.List;<br /><br />import codesstore.strutshibernate.dao.StudentDao;<br />import codesstore.strutshibernate.dao.StudentDaoImpl;<br />import codesstore.strutshibernate.domain.Student;<br /><br />import com.opensymphony.xwork2.ActionSupport;<br /><br />public class StudentAction extends ActionSupport{<br /> <br /> private Student student;<br /> private List<Student> students;<br /> private StudentDao studentDaoImpl=new StudentDaoImpl();<br /> public String addStudent() {<br /> getStudent().setAddedTime(new Date());<br /> boolean isSaved=studentDaoImpl.saveStudent(getStudent());<br /> if(isSaved){<br /> addActionMessage("Successfully added student");<br /> return SUCCESS;<br /> }else {<br /> addActionError("Adding failed");<br /> return INPUT;<br /> }<br /> }<br /> public String listStudents(){<br /> students = studentDaoImpl.listStudents();<br /> if (students != null) {<br /> return SUCCESS;<br /> } else {<br /> addActionError("Student listing failed");<br /> return INPUT;<br /> }<br /> }<br /> public Student getStudent() {<br /> return student;<br /> }<br /> public void setStudent(Student student) {<br /> this.student = student;<br /> }<br /> public List<Student> getStudents() {<br /> return students;<br /> }<br /> public void setStudents(List<Student> students) {<br /> this.students = students;<br /> }<br /> <br />}<br /> </pre></blockquote><br /><h3> student.jsp</h3><blockquote><pre class="html" name="code"><%@ page language="java" contentType="text/html; charset=ISO-8859-1"<br /> pageEncoding="ISO-8859-1"%><br /><%@taglib prefix="s" uri="/struts-tags" %><br /><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><br /><html><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><br /><title>Stuts 2 Hibernate - codesstore.blogspot.com</title><br /></head><br /><body><br /><s:actionerror/><br /><s:actionmessage /><br /><s:form action="addStudent"><br /> <s:textfield name="student.username" label="Username"/><br /> <s:textfield name="student.email" label="Email"/><br /> <s:submit value="Add"/><br /></s:form><br /><br /><table><br /> <s:iterator value="students"><br /> <tr><br /> <td><s:property value="username"/></td><br /> <td><s:property value="email"/></td><br /> <td><s:property value="addedTime"/></td><br /> </tr><br /> </s:iterator><br /></table><br /></body><br /></html></pre></blockquote><br /><h3> index.jsp</h3><blockquote><pre class="html" name="code"><% response.sendRedirect("listStudents.action"); %><br /><br /></pre></blockquote><br />Project structure in Eclipse.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-SdJg7jX_VP8/TxxOXNOR2qI/AAAAAAAAAq4/HBX7bA_NSR8/s1600/directory.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-SdJg7jX_VP8/TxxOXNOR2qI/AAAAAAAAAq4/HBX7bA_NSR8/s1600/directory.jpg" /></a></div><br /><b><i>ojdbc14.jar</i></b> used to connect to Oracle databaseSameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-58791058453465298842012-01-20T20:37:00.000+05:302012-06-21T11:28:04.122+05:30Android Simple CalculatorSimple Calculator example..<br /><a name='more'></a>I created a simple calculator Android application to understand basic functions in Android.<br /> <br /><u><i><b>CalculatorActivity.java</b></i></u><br /><blockquote><pre class="java" name="code">package codesstore.calculator;<br /><br />import android.app.Activity;<br />import android.os.Bundle;<br />import android.view.View;<br />import android.view.View.OnClickListener;<br />import android.widget.Button;<br />import android.widget.EditText;<br />import android.widget.TextView;<br /><br />public class CalculatorActivity extends Activity implements OnClickListener {<br /> Button buttonPlus;<br /> Button buttonMinus;<br /> Button buttonDivide;<br /> Button buttonMultiply;<br /> Button buttonOk;<br /> TextView textAnswer;<br /> TextView textOperator;<br /> EditText num1;<br /> EditText num2;<br /> double sum;<br /><br /> @Override<br /> public void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.main);<br /><br /> buttonMinus = (Button) findViewById(R.id.buttonMinus);<br /> buttonPlus = (Button) findViewById(R.id.buttonPlus);<br /> buttonDivide = (Button) findViewById(R.id.buttonDivide);<br /> buttonMultiply = (Button) findViewById(R.id.buttonMultiply);<br /> buttonOk = (Button) findViewById(R.id.buttonOk);<br /> num1 = (EditText) findViewById(R.id.num1);<br /> num2 = (EditText) findViewById(R.id.num2);<br /> textAnswer = (TextView) findViewById(R.id.textAnswer);<br /> textOperator = (TextView) findViewById(R.id.textOperator);<br /> <br /> buttonOk.setOnClickListener(this);<br /> buttonPlus.setOnClickListener(this);<br /> buttonMinus.setOnClickListener(this);<br /> buttonMultiply.setOnClickListener(this);<br /> buttonDivide.setOnClickListener(this);<br /><br /> }<br /><br /> @Override<br /> public void onClick(View src) {<br /><br /> switch (src.getId()) {<br /> case R.id.buttonOk:<br /> textAnswer.setText(String.valueOf(sum));<br /> break;<br /> case R.id.buttonPlus:<br /> sum = Double.parseDouble(String.valueOf(num1.getText()))<br /> + Double.parseDouble(String.valueOf(num2.getText()));<br /> textOperator.setText("+");<br /> break;<br /> case R.id.buttonMinus:<br /> sum = Double.parseDouble(String.valueOf(num1.getText()))<br /> - Double.parseDouble(String.valueOf(num2.getText()));<br /> textOperator.setText("-");<br /> break;<br /> case R.id.buttonMultiply:<br /> sum = Double.parseDouble(String.valueOf(num1.getText()))<br /> * Double.parseDouble(String.valueOf(num2.getText()));<br /> textOperator.setText("*");<br /> break;<br /> case R.id.buttonDivide:<br /> sum = Double.parseDouble(String.valueOf(num1.getText()))<br /> / Double.parseDouble(String.valueOf(num2.getText()));<br /> textOperator.setText("/");<br /> break;<br /> }<br /><br /> }<br />}</pre></blockquote><br /><u><i><b>main.xml</b></i></u><br />Main xml is used to create user interface.<u><i><b><br /></b></i></u><br /><blockquote><pre class="java" name="code"><?xml version="1.0" encoding="utf-8"?><br /><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br /> android:layout_width="fill_parent"<br /> android:layout_height="fill_parent"<br /> android:orientation="vertical" ><br /><br /> <TextView<br /> android:layout_width="fill_parent"<br /> android:layout_height="wrap_content"<br /> android:text="@string/title" android:gravity="center" android:textSize="30dp" android:paddingTop="3dp" android:paddingBottom="10dp"/><br /><br /><br /> <LinearLayout<br /> android:id="@+id/inputs"<br /> android:layout_width="match_parent"<br /> android:layout_height="wrap_content" ><br /><br /><br /> <EditText<br /> android:id="@+id/num1"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:layout_weight="1" /><br /><br /><br /><br /> <TextView<br /> android:id="@+id/textOperator"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:layout_weight="1" android:gravity="center" android:textSize="25dp"/><br /><br /><br /><br /> <EditText<br /> android:id="@+id/num2"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:layout_weight="1" ><br /><br /> <requestFocus /><br /> </EditText><br /><br /> </LinearLayout><br /><br /><br /> <LinearLayout<br /> android:id="@+id/answerbox"<br /> android:layout_width="match_parent"<br /> android:layout_height="wrap_content" ><br /><br /><br /><br /> <TextView<br /> android:id="@+id/textAnswer"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content" android:layout_weight="1" android:textSize="25dp"/><br /><br /> </LinearLayout><br /><br /><br /> <LinearLayout<br /> android:id="@+id/buttons"<br /> android:layout_width="match_parent"<br /> android:layout_height="wrap_content" ><br /><br /> <Button<br /> android:id="@+id/buttonPlus"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:text="+" android:layout_weight="1"/><br /><br /><br /> <Button<br /> android:id="@+id/buttonMinus"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:text="-" android:layout_weight="1"/><br /><br /><br /> <Button<br /> android:id="@+id/buttonDivide"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:text="/" android:layout_weight="1"/><br /><br /><br /> <Button<br /> android:id="@+id/buttonMultiply"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:text="*" android:layout_weight="1"/><br /><br /><br /> <Button<br /> android:id="@+id/buttonOk"<br /> android:layout_width="wrap_content"<br /> android:layout_height="wrap_content"<br /> android:text="=" android:layout_weight="1"/><br /><br /> </LinearLayout><br /><br /></LinearLayout>v </pre></blockquote><br /><u><i><b>strings.xml</b></i></u><br /><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="utf-8"?><br /><resources><br /><br /> <string name="title">Simple Calculator</string><br /> <string name="app_name">Calculator</string><br /><br /></resources><u><i><b><br /></b></i></u></pre></blockquote><br /><br /><u><i><b>R.java</b></i></u><br />This is a file auto generated by android.<u><i><b> </b></i></u><br /><blockquote><pre class="java" name="code">/* AUTO-GENERATED FILE. DO NOT MODIFY.<br /> *<br /> * This class was automatically generated by the<br /> * aapt tool from the resource data it found. It<br /> * should not be modified by hand.<br /> */<br /><br />package codesstore.calculator;<br /><br />public final class R {<br /> public static final class attr {<br /> }<br /> public static final class drawable {<br /> public static final int calculator_icon=0x7f020000;<br /> public static final int ic_launcher=0x7f020001;<br /> }<br /> public static final class id {<br /> public static final int answerbox=0x7f050004;<br /> public static final int buttonDivide=0x7f050009;<br /> public static final int buttonMinus=0x7f050008;<br /> public static final int buttonMultiply=0x7f05000a;<br /> public static final int buttonOk=0x7f05000b;<br /> public static final int buttonPlus=0x7f050007;<br /> public static final int buttons=0x7f050006;<br /> public static final int inputs=0x7f050000;<br /> public static final int num1=0x7f050001;<br /> public static final int num2=0x7f050003;<br /> public static final int textAnswer=0x7f050005;<br /> public static final int textOperator=0x7f050002;<br /> }<br /> public static final class layout {<br /> public static final int main=0x7f030000;<br /> }<br /> public static final class string {<br /> public static final int app_name=0x7f040001;<br /> public static final int title=0x7f040000;<br /> }<br />}<br /></pre></blockquote><br />Project structure in eclipse<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-W1nIoJFjzN4/TxmD0rW56EI/AAAAAAAAAqg/_WUgC2IkJWo/s1600/android.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-W1nIoJFjzN4/TxmD0rW56EI/AAAAAAAAAqg/_WUgC2IkJWo/s1600/android.jpg" /></a></div><br /> outline window<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-FIh5Wo4LSBU/TxmEKR2JM8I/AAAAAAAAAqo/f1nqbUZIbxo/s1600/andridlayout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-FIh5Wo4LSBU/TxmEKR2JM8I/AAAAAAAAAqo/f1nqbUZIbxo/s1600/andridlayout.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-zUqaunhyXcs/TxmFGTxpJlI/AAAAAAAAAqw/kQNCvIR2hL4/s1600/calwindow.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-zUqaunhyXcs/TxmFGTxpJlI/AAAAAAAAAqw/kQNCvIR2hL4/s1600/calwindow.jpg" /></a></div>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-69373785741359123942012-01-20T13:29:00.001+05:302012-06-21T12:16:58.137+05:30Hibernate CRUDHibernate CRUD example<br /><a name='more'></a><br /><h3> hibernate.cfg.xml</h3><blockquote><pre class="xml" name="code"><?xml version="1.0" encoding="UTF-8"?><br /><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><br /><hibernate-configuration><br /> <session-factory><br /> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><br /> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><br /> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernatedemo</property><br /> <property name="hibernate.connection.username">root</property><br /> <property name="hibernate.connection.password">123</property><br /> <mapping class="entity.Student" /><br /> </session-factory><br /></hibernate-configuration></pre></blockquote><br /><h3> Student.java</h3><blockquote><pre class="java" name="code">package entity;<br /><br />import java.io.Serializable;<br />import javax.persistence.*;<br /><br /><br />@Entity<br /><br />public class Student implements Serializable {<br /><br /> @Id<br /> @Column(name="id")<br /> private Integer id;<br /> @Column(name="name",length=100)<br /> private String username;<br /> @Column(name="email",length=100)<br /> private String email;<br /><br /> public String getEmail() {<br /> return email;<br /> }<br /><br /> public void setEmail(String email) {<br /> this.email = email;<br /> }<br /><br /> public Integer getId() {<br /> return id;<br /> }<br /><br /> public void setId(Integer id) {<br /> this.id = id;<br /> }<br /><br /> public String getUsername() {<br /> return username;<br /> }<br /><br /> public void setUsername(String username) {<br /> this.username = username;<br /> }<br /><br /><br />}<br /></pre></blockquote><br /><h3> HibernateUtil.java </h3><blockquote><pre class="java" name="code">package util;<br /><br />import org.hibernate.SessionFactory;<br />import org.hibernate.cfg.AnnotationConfiguration;<br /><br /><br />public class HibernateUtil {<br /><br /> private static final SessionFactory sessionFactory;<br /><br /> static {<br /> try {<br /> sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();<br /> } catch (Exception ex) {<br /> <br /> throw new ExceptionInInitializerError();<br /> }<br /> }<br /><br /> public static SessionFactory getSessionFactory() {<br /> return sessionFactory;<br /> }<br />}</pre></blockquote><br /><h3> AddStudentServlet.java</h3><blockquote><pre class="java" name="code">package servlet;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import org.hibernate.*;<br />import util.HibernateUtil;<br />import entity.*;<br /><br /><br />public class AddStudentServlet extends HttpServlet {<br /><br /> @Override<br /> protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {<br /><br /> Session session = HibernateUtil.getSessionFactory().openSession();<br /> Transaction transaction = session.beginTransaction();<br /><br /> Student student = new Student();<br /> student.setId(3);<br /> student.setUsername("sameera5");<br /> student.setEmail("jaya@yahoo.com5");<br /><br /> session.save(student);<br /> transaction.commit();<br /> session.close();<br /> }<br /><br /> @Override<br /> protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {<br /> }<br />}</pre></blockquote><br /><h3> UpdateStudentServlet.java</h3><blockquote><pre class="java" name="code">package servlet;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import org.hibernate.*;<br />import util.HibernateUtil;<br />import entity.Student;<br /><br /><br />public class UpdateStudentServlet extends HttpServlet {<br /><br /> @Override<br /> protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {<br /> Session session = HibernateUtil.getSessionFactory().openSession();<br /> Transaction transaction = session.beginTransaction();<br /><br /> Student s = (Student) session.get(Student.class, new Integer(1));<br /> System.out.println(s.getUsername());<br /> if (s != null) {<br /><br /> s.setEmail("sampatjhh");<br /> s.setUsername("sampath");<br /> session.update(s);<br /> }<br /><br /><br /> transaction.commit();<br /> session.close();<br /><br /><br /> }<br />}</pre></blockquote><br /><h3> ViewStudentServlet.java </h3><blockquote><pre class="java" name="code">package servlet;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import org.hibernate.*;<br />import util.HibernateUtil;<br />import entity.Student;<br />import java.util.List;<br /><br /><br />public class ViewStudentServlet extends HttpServlet {<br /><br /> <br /> protected void processRequest(HttpServletRequest request, HttpServletResponse response)<br /> throws ServletException, IOException {<br /> PrintWriter out = response.getWriter();<br /><br /> Session session = HibernateUtil.getSessionFactory().openSession();<br /> Transaction transaction = session.beginTransaction();<br /><br /> Query query = session.createQuery("FROM Student");<br /><br /> List<Student> students = query.list();<br /><br /> for (Student student : students) {<br /><br /> out.print(student.getUsername());<br /><br /> }<br /><br /><br /> transaction.commit();<br /> session.close();<br /> }<br /><br /> // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."><br /> /** <br /> * Handles the HTTP <code>GET</code> method.<br /> * @param request servlet request<br /> * @param response servlet response<br /> * @throws ServletException if a servlet-specific error occurs<br /> * @throws IOException if an I/O error occurs<br /> */<br /> @Override<br /> protected void doGet(HttpServletRequest request, HttpServletResponse response)<br /> throws ServletException, IOException {<br /> processRequest(request, response);<br /> }<br /><br /> /** <br /> * Handles the HTTP <code>POST</code> method.<br /> * @param request servlet request<br /> * @param response servlet response<br /> * @throws ServletException if a servlet-specific error occurs<br /> * @throws IOException if an I/O error occurs<br /> */<br /> @Override<br /> protected void doPost(HttpServletRequest request, HttpServletResponse response)<br /> throws ServletException, IOException {<br /> processRequest(request, response);<br /> }<br /><br /> /** <br /> * Returns a short description of the servlet.<br /> * @return a String containing servlet description<br /> */<br /> @Override<br /> public String getServletInfo() {<br /> return "Short description";<br /> }// </editor-fold><br />}</pre></blockquote><br /><h3> DeleteServlet.java</h3><blockquote><pre class="java" name="code">package servlet;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import org.hibernate.*;<br />import util.HibernateUtil;<br />import entity.Student;<br /><br /><br />public class DeleteServlet extends HttpServlet {<br /> <br /><br /> @Override<br /> protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {<br /><br /> Session session = HibernateUtil.getSessionFactory().openSession();<br /> Transaction transaction = session.beginTransaction();<br /><br /> Student s=(Student) session.get(Student.class, new Integer(1));<br /> System.out.println(s.getUsername());<br /> session.delete(s);<br /> transaction.commit();<br /> session.close();<br /> }<br /><br /> @Override<br /> protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {<br /> }<br /><br />}</pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-84364006520157280862011-12-08T00:06:00.000+05:302012-06-20T20:18:41.798+05:30AJAXAJAX with JSP Servlets <br /><a name='more'></a><br /><u><i><b>index.jsp</b></i></u> <br /><br /><blockquote><pre class="html" name="code"><%@ page language="java" contentType="text/html; charset=ISO-8859-1"<br /> pageEncoding="ISO-8859-1"%><br /><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><br /><html><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><br /><title>AJAX - codesstore.blogspot.com</title><br /><br /><script type="text/javascript"><br /> var XMLHttpRequestObject = false;<br /> <br /> if (window.XMLHttpRequest) {<br /> XMLHttpRequestObject = new XMLHttpRequest();<br /> } else if (window.ActiveXObject) {<br /> XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");<br /> }<br /> <br /> function getData(requestlink,parameter,value,responsedivid){<br /> if(XMLHttpRequestObject) {<br /> var obj = document.getElementById(responsedivid);<br /> var link=requestlink+"?"+parameter+"="+value;<br /> <br /> XMLHttpRequestObject.open("GET", link);<br /> XMLHttpRequestObject.onreadystatechange = function()<br /> {<br /> if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {<br /> obj.innerHTML = XMLHttpRequestObject.responseText;<br /> <br /> }<br /> }<br /> <br /> XMLHttpRequestObject.send(null);<br /> }<br /> }<br /><br /> function postData(requestlink,parameter,value,responseid){<br /><br /> if(XMLHttpRequestObject) {<br /> var obj = document.getElementById(responseid);<br /> var link=requestlink;<br /> XMLHttpRequestObject.open("POST", link);<br /> XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');<br /><br /> var parameters=parameter+"="+value;<br /><br /> XMLHttpRequestObject.onreadystatechange = function()<br /> {<br /> if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {<br /> obj.innerHTML = XMLHttpRequestObject.responseText;<br /><br /> }<br /> }<br /><br /> XMLHttpRequestObject.send(parameters);<br /> }<br /> }<br /><br /></script><br /><br /><br /><br /><br /></head><br /><body><br /><br /><input type="button" value="get type A Data" onclick="getData('AjaxServlet','type','A','response')"><br /><input type="button" value="get type B Data" onclick="getData('AjaxServlet','type','B','response')"><br /><div id="response"></div><br /><br /><input type="button" value="get type A Data using POST" onclick="postData('AjaxServlet','type','A','post-response')"><br /><input type="button" value="get type B Data using POST" onclick="postData('AjaxServlet','type','B','post-response')"><br /><div id="post-response"></div><br /><br /></body><br /></html></pre></blockquote><u><i><b>AjaxServlet.java</b></i></u><br /><br /><blockquote><pre class="java" name="code">package codesstore.ajaxtest;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br /><br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br />public class AjaxServlet extends HttpServlet {<br /> private static final long serialVersionUID = 1L;<br /><br /> public AjaxServlet() {<br /> super();<br /> }<br /><br /> protected void doGet(HttpServletRequest request,<br /> HttpServletResponse response) throws ServletException, IOException {<br /> PrintWriter out = response.getWriter();<br /> String type = request.getParameter("type");<br /> if (type.equals("A")) {<br /> String data = "You selected Type A";<br /> out.print(data);<br /> } else if (type.equals("B")) {<br /> String data = "You selected Type B";<br /> out.print(data);<br /> }<br /> }<br /><br /> protected void doPost(HttpServletRequest request,<br /> HttpServletResponse response) throws ServletException, IOException {<br /> PrintWriter out = response.getWriter();<br /> String type = request.getParameter("type");<br /> if (type.equals("A")) {<br /> String data = "You selected Type A. POST method used";<br /> out.print(data);<br /> } else if (type.equals("B")) {<br /> String data = "You selected Type B. POST method used";<br /> out.print(data);<br /> }<br /> }<br />}</pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-72709275423258381072011-12-06T14:52:00.000+05:302012-06-20T20:24:42.574+05:30JSON with Jquery JSP ServletsA simple JSON example with jquery JSP Servlets...<br /><a name='more'></a><br /><b>index.jsp</b><br /><blockquote><pre class="html" name="code"><%@ page language="java" contentType="text/html; charset=ISO-8859-1"<br /> pageEncoding="ISO-8859-1"%><br /><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><br /><html><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><br /><title>Insert title here</title><br /><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script><br /><script type="text/javascript"><br /> $(document).ready(function(){ <br /> $('#getData').click(function(){<br /> $.ajax({<br /> url:'JsonServlet',<br /> type:'post',<br /> dataType: 'json',<br /> success: function(data) {<br /> $('#name').val(data.name);<br /> $('#email').val(data.email);<br /> }<br /> });<br /> });<br /> });<br /></script><br /></head><br /><body><br /><br /> Name:<input type="text" id="name"/><br/><br /> Email:<input type="text" id="email"/><br /> <br /> <input type="button" id="getData" value="Get Data"/> <br /><br /></body><br /></html><br /></pre></blockquote><br /><b>JsonServlet.java</b><br /><blockquote><pre class="java" name="code">package codesstore.json;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br />import org.json.JSONObject;<br /><br />public class JsonServlet extends HttpServlet {<br /> private static final long serialVersionUID = 1L;<br /><br /> public JsonServlet() {<br /> super();<br /> // TODO Auto-generated constructor stub<br /> }<br /><br /> protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<br /><br /> }<br /><br /> protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<br /> <br /> PrintWriter out= response.getWriter();<br /> JSONObject json = new JSONObject();<br /> json.put("name", "Sameera Jayasekara");<br /> json.put("email", "codesstore@blogspot.com");<br /> out.print(json);<br /> <br /> }<br /> <br /><br />}</pre></blockquote><br />Used <b><i>json-rpc-1.0.jar</i></b> fileSameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com9tag:blogger.com,1999:blog-5414775399749639642.post-89719981036542929422011-11-15T21:49:00.000+05:302012-11-02T23:33:05.241+05:30JavaScript Check All Check boxesCheck All Check boxes using JavaScript..<br /><a name='more'></a><br /><script type="text/javascript">//<![CDATA[ //----check all check boxes------ var selectFlag=true; function selectAll(){ var list=document.getElementsByName('boxlist'); var i=0; if (selectFlag){ for(i;i<list.length;i++){ list[i].checked = true; } document.getElementById('link').innerHTML="Deselect all"; selectFlag=false; } else{ for(i;i<list.length;i++){ list[i].checked = false; } document.getElementById('link').innerHTML="Select all"; selectFlag=true; } } //]]></script><br /><a href="javascript:selectAll();" id="link">Select all</a><br /><br /><input name="boxlist" type="checkbox" />Box1<br /><input name="boxlist" type="checkbox" />Box2<br /><input name="boxlist" type="checkbox" />Box3<br /><br /><blockquote><pre class="html" name="code"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br /><title>Check All...codesstore.blogspot.com</title><br /><script type="text/javascript"><br /><br />//----check all check boxes------<br /> var selectFlag=true;<br /> function selectAll(){<br /> var list=document.getElementsByName('boxlist');<br /> var i=0;<br /> if (selectFlag){<br /> for(i;i<list.length;i++){<br /> list[i].checked = true;<br /> }<br /> document.getElementById('link').innerHTML="Deselect all";<br /> selectFlag=false;<br /> }<br /> else{<br /> for(i;i<list.length;i++){<br /> list[i].checked = false;<br /> }<br /> document.getElementById('link').innerHTML="Select all";<br /> selectFlag=true;<br /> }<br /> <br /> }<br /><br /></script><br /></head><br /><body><br /> <a id="link" href="javascript:selectAll();">Select all</a><br><br /> <br /> <input type="checkbox" name="boxlist">Box1<br><br /> <input type="checkbox" name="boxlist">Box2<br><br /> <input type="checkbox" name="boxlist">Box3<br><br /> <br /></body><br /></html><br /></pre></blockquote>Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-71375503440211456282011-11-15T21:05:00.000+05:302012-06-30T18:25:48.381+05:30Jquery Vs JavaScript - Get elements by class namegetElementsByClassName JavaScript and Jquery example<br /><a name='more'></a><br /><blockquote><pre class="html" name="code"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br /><title>Jquery Vs Javascript...codesstore.blogspot.com</title><br /><script type="text/javascript" src="http://code.jquery.com/jquery-1.7.min.js"></script><br /><script type="text/javascript"><br /><br />//-------------Jquery hide divs---------------------<br /> $(document).ready(function(){<br /> $("#jquery-hide").click(function(){<br /> $(".hideme").hide();<br /> });<br /> });<br /> <br />//-------------JavaScript hide divs------------------<br /><br />function hideAll(){<br /> <br /> var divs=document.getElementsByClassName("hideme");<br /> for(var i=0;i<divs.length;i++){<br /> divs[i].style.display="none";<br /> <br /> }<br /> <br />}<br /><br />//fixes for IE<br />onload=function(){<br /> if (document.getElementsByClassName == undefined) {<br /> document.getElementsByClassName = function(className)<br /> {<br /> var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");<br /> var allElements = document.getElementsByTagName("*");<br /> var results = [];<br /> var element;<br /> for (var i = 0; (element = allElements[i]) != null; i++) {<br /> var elementClass = element.className;<br /> if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))<br /> results.push(element);<br /> }<br /> return results;<br /> }<br /> }<br />}<br /> <br /> <br /></script><br /></head><br /><body><br /><br /> <div class="hideme"><br /> Content 1<br /> </div><br /> <br /> <div class="hideme"><br /> Content 2<br /> </div><br /> <br /> <a href="#" id="jquery-hide">Jquery Hide</a><br /> <a href="javascript:hideAll()" id="js-hide">Javascript Hide</a><br /> <br /></body><br /></html></pre></blockquote><br />When using javascript <i>getElementsByClassName </i>not working on <b>IE</b>.I found fixes for IE from a forum...Sameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0tag:blogger.com,1999:blog-5414775399749639642.post-30500110156792604472011-10-25T21:44:00.000+05:302012-06-21T10:45:02.038+05:30SCBCD 5 Short NotesMy SCBCD 5 Short Notes..<br /><a name='more'></a><br />1)<br /><blockquote class="tr_bq">@PostConstruct<br /><span style="background-color: white;">public</span> void initialize( ){ }</blockquote><blockquote class="tr_bq">@PreDestroy<span style="background-color: white;"></span><br /><span style="background-color: white;">public</span> void cleanup( ){ }<br /><br /><br />@PrePassivate<br /><span style="background-color: white;">public </span>void cleanup( ){ }<br /><br />@PostActivate<br /><span style="background-color: white;">public </span>void openConnection( ){ }</blockquote>Access modifier can be public<br /> protected<br /> default<br /> private <br />Not static<br />Not Final<br />Not throw checked Exceptions<br /> <br /><blockquote class="tr_bq">@Remove<br /><span style="background-color: white;">public</span> void cancel( ){ }</blockquote><br />@PostConstruct, @PreDestroy can be used with <b>stateful, stateless</b> session beans<br />@PrePassivate, @PostActivate, @Remove used with <b>stateful session beans</b><br /><br /> 2)<br />Transaction attributes<br /><i>Reference : <a href="http://www.manning.com/panda/">EJB 3 in Action</a></i><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-LyaDkgFf3Ck/TqbgRbpONYI/AAAAAAAAApg/HKYQcfGWvjo/s1600/transaction.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-LyaDkgFf3Ck/TqbgRbpONYI/AAAAAAAAApg/HKYQcfGWvjo/s1600/transaction.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div><div class="separator" style="clear: both; text-align: left;"></div><table border="1" cellspacing="0"> <tbody><tr> <th>Transaction Attribute</th> <th>Caller Transaction Exists?</th> <th>Effect</th> </tr><tr> <td rowspan="2">REQUIRED</td> <td>No</td> <td>Container creates a new transaction.</td> </tr><tr> <td>Yes</td> <td>Method joins the caller’s transaction.</td> </tr><tr> <td rowspan="2">REQUIRES_NEW</td> <td>No</td> <td>Container creates a new transaction.</td> </tr><tr> <td>Yes</td> <td>Container creates a new transaction and the caller’s transaction is suspended</td> </tr><tr> <td rowspan="2">SUPPORTS</td> <td>No</td> <td>No transaction is used.</td> </tr><tr> <td>Yes</td> <td>Method joins the caller’s transaction.</td> </tr><tr> <td rowspan="2">MANDATORY</td> <td>No</td> <td>javax.ejb.EJBTransactionRequired-Exception is thrown.</td> </tr><tr> <td>Yes</td> <td>Method joins the caller’s transaction.</td> </tr><tr> <td rowspan="2">NOT_SUPPORTED</td> <td>No</td> <td>No transaction is used.</td> </tr><tr> <td>Yes</td> <td>The caller’s transaction is suspended and the method is called without a transaction</td> </tr><tr> <td rowspan="2">NEVER</td> <td>No</td> <td>No transaction is used.</td> </tr><tr> <td>Yes</td> <td>javax.ejb.EJBException is thrown</td> </tr></tbody></table><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">3)</div><div class="separator" style="clear: both; text-align: left;"><br /></div><blockquote class="tr_bq"><pre class="java" name="code">@Entity<br />public class Project{<br /> @ManyToMany(mappedBy="projects")<br /> Set<Employee> emps;<br />}<br /><br />@Entity<br />public class Employee{<br /> @ManyToMany(targetEntity=Project.class)<br /> Collection projects;<br />}</pre></blockquote><div class="separator" style="clear: both; text-align: left;">If we not use Generics we have to use <b>targetEntity</b></div><div class="separator" style="clear: both; text-align: left;"><br /></div><br />4 )<br /><blockquote class="tr_bq"><pre class="java" name="code">@MessageDriven<br />public class MyMessageBean implements MessageListener{<br /> <br /> public MyMessageBean(){}<br /> <br /> public void onMesage(Message message){<br /> <br /> }<br />}<br /></pre></blockquote><div class="separator" style="clear: both; text-align: left;"><br /></div><br />5) EJB Roles<br /><ol><li>Enterprise Bean Provider</li><li>Application Assembler</li><li>Deployer</li><li>EJB Server Provider</li><li>EJB Container Provider</li><li>Persistence Provider</li><li>System Administrator</li></ol>6)<br /> @PersistenceUnit<br />EntityManagerFactory emf;<br /><br />@PersistenceContext<br />EntityManager em; <br /><br />7)Defining a Runtime Exception<br /><br /><blockquote><pre class="java" name="code">@ApplicationException<br />public class MyException extends java.lang.RuntimeException<br /></pre></blockquote><br />8) ejb-jar is a contract between ,<br /><br /> Bean Provider and Application Assembler<br /> Application Assembler and DeployerSameera Jayasekarahttp://www.blogger.com/profile/12177589599660279514noreply@blogger.com0