Struts2

Struts 2 Sending Mails

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<p>In this chapter we will teach you how to send an email using your Struts 2 application&period; For this application&comma; you need to download and install the<b> mail&period;jar<&sol;b> from <b><a href&equals;"http&colon;&sol;&sol;www&period;oracle&period;com&sol;technetwork&sol;java&sol;javasebusiness&sol;downloads&sol;java-archive-downloads-eeplat-419426&period;html&num;javamail-1&period;4&period;7-oth-JPR" target&equals;"&lowbar;blank" rel&equals;"noopener">JavaMail API 1&period;4&period;7<&sol;a><&sol;b> and place the <b>mail&period;jar<&sol;b> file in your <i><b>WEB-INFlib <&sol;b><&sol;i>folder and then proceed to follow the standard steps of creating action&comma; view and configuration files&period;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;07&sol;1212212&period;png" border&equals;"0" &sol;><&sol;div>&NewLine;<h2><b>Create Action&colon;<&sol;b><&sol;h2>&NewLine;<p>The next step is to create an Action method that takes care of sending the email&period; Let us create a new class called <b>MailAction&period;java<&sol;b> with the following contents&period;<&sol;p>&NewLine;<&sol;div>&NewLine;<pre class&equals;"highlight">package com&period;dineshonjava&period;struts2&period;mail&period;action&semi; &NewLine; &NewLine;import java&period;util&period;Properties&semi; &NewLine;import javax&period;mail&period;Message&semi; &NewLine;import javax&period;mail&period;PasswordAuthentication&semi; &NewLine;import javax&period;mail&period;Session&semi; &NewLine;import javax&period;mail&period;Transport&semi; &NewLine;import javax&period;mail&period;internet&period;InternetAddress&semi; &NewLine;import javax&period;mail&period;internet&period;MimeMessage&semi; &NewLine; &NewLine;import com&period;opensymphony&period;xwork2&period;ActionSupport&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;public class MailAction extends ActionSupport &lbrace; &NewLine; &NewLine; private static final long serialVersionUID &equals; 1L&semi; &NewLine; private String from&semi; &NewLine; private String password&semi; &NewLine; private String to&semi; &NewLine; private String subject&semi; &NewLine; private String body&semi; &NewLine; &NewLine; static Properties properties &equals; new Properties&lpar;&rpar;&semi; &NewLine; static &NewLine; &lbrace; &NewLine; properties&period;put&lpar;"mail&period;smtp&period;host"&comma; "smtp&period;gmail&period;com"&rpar;&semi; &NewLine; properties&period;put&lpar;"mail&period;smtp&period;socketFactory&period;port"&comma; "465"&rpar;&semi; &NewLine; properties&period;put&lpar;"mail&period;smtp&period;socketFactory&period;class"&comma; &NewLine; "javax&period;net&period;ssl&period;SSLSocketFactory"&rpar;&semi; &NewLine; properties&period;put&lpar;"mail&period;smtp&period;auth"&comma; "true"&rpar;&semi; &NewLine; properties&period;put&lpar;"mail&period;smtp&period;port"&comma; "465"&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; public String execute&lpar;&rpar; &NewLine; &lbrace; &NewLine; String ret &equals; SUCCESS&semi; &NewLine; try &NewLine; &lbrace; &NewLine; Session session &equals; Session&period;getDefaultInstance&lpar;properties&comma; &NewLine; new javax&period;mail&period;Authenticator&lpar;&rpar; &lbrace; &NewLine; protected PasswordAuthentication &NewLine; getPasswordAuthentication&lpar;&rpar; &lbrace; &NewLine; return new &NewLine; PasswordAuthentication&lpar;from&comma; password&rpar;&semi; &NewLine; &rcub;&rcub;&rpar;&semi; &NewLine; &NewLine; Message message &equals; new MimeMessage&lpar;session&rpar;&semi; &NewLine; message&period;setFrom&lpar;new InternetAddress&lpar;from&rpar;&rpar;&semi; &NewLine; message&period;setRecipients&lpar;Message&period;RecipientType&period;TO&comma; &NewLine; InternetAddress&period;parse&lpar;to&rpar;&rpar;&semi; &NewLine; message&period;setSubject&lpar;subject&rpar;&semi; &NewLine; message&period;setText&lpar;body&rpar;&semi; &NewLine; Transport&period;send&lpar;message&rpar;&semi; &NewLine; &rcub; &NewLine; catch&lpar;Exception e&rpar; &NewLine; &lbrace; &NewLine; ret &equals; ERROR&semi; &NewLine; e&period;printStackTrace&lpar;&rpar;&semi; &NewLine; &rcub; &NewLine; return ret&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getFrom&lpar;&rpar; &lbrace; &NewLine; return from&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setFrom&lpar;String from&rpar; &lbrace; &NewLine; this&period;from &equals; from&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getPassword&lpar;&rpar; &lbrace; &NewLine; return password&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setPassword&lpar;String password&rpar; &lbrace; &NewLine; this&period;password &equals; password&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getTo&lpar;&rpar; &lbrace; &NewLine; return to&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setTo&lpar;String to&rpar; &lbrace; &NewLine; this&period;to &equals; to&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getSubject&lpar;&rpar; &lbrace; &NewLine; return subject&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setSubject&lpar;String subject&rpar; &lbrace; &NewLine; this&period;subject &equals; subject&semi; &NewLine; &rcub; &NewLine; &NewLine; public String getBody&lpar;&rpar; &lbrace; &NewLine; return body&semi; &NewLine; &rcub; &NewLine; &NewLine; public void setBody&lpar;String body&rpar; &lbrace; &NewLine; this&period;body &equals; body&semi; &NewLine; &rcub; &NewLine; &NewLine; public static Properties getProperties&lpar;&rpar; &lbrace; &NewLine; return properties&semi; &NewLine; &rcub; &NewLine; &NewLine; public static void setProperties&lpar;Properties properties&rpar; &lbrace; &NewLine; MailAction&period;properties &equals; properties&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine; &NewLine;<&sol;pre>&NewLine;<&sol;div>&NewLine;<div id&equals;"ads-id" align&equals;"center"><&sol;div>&NewLine;<p>As seen in the source code above&comma; the <b>MailAction&period;java<&sol;b> has properties that correspond to the form attributes in the <i><b>welcome&period;jsp <&sol;b><&sol;i>page given below&period; These attributes are<&sol;p>&NewLine;<ul style&equals;"text-align&colon; left&semi;">&NewLine;<li><b>from <&sol;b>&&num;8211&semi; The email address of the sender&period; As we are using Google&&num;8217&semi;s SMTP&comma; we need a valid gtalk id<&sol;li>&NewLine;<li><b>password <&sol;b>&&num;8211&semi; The password of the above account<&sol;li>&NewLine;<li><b>to <&sol;b>&&num;8211&semi; Who to send the email to&quest;<&sol;li>&NewLine;<li><b>Subject <&sol;b>&&num;8211&semi; subject of the email<&sol;li>&NewLine;<li><b>body <&sol;b>&&num;8211&semi; The actual email message<&sol;li>&NewLine;<&sol;ul>&NewLine;<p>We have not considered any validations on the above fields&comma; validations will be added in the next chapter&period; Let us now look at the <b>execute&lpar;&rpar;<&sol;b> method&period; The <b>execute&lpar;&rpar; <&sol;b>method uses the javax Mail library to send an email using the supplied parameters&period; If the mail is sent successfully&comma; action returns SUCCESS&comma; otherwise it returns ERROR&period;<&sol;p>&NewLine;<&sol;div>&NewLine;<h2><b>Create view pages&colon;<&sol;b><&sol;h2>&NewLine;<p>Let us write main page JSP file<i><b> welcome&period;jsp<&sol;b><&sol;i>&comma; which will be used to collect email related information mentioned above&colon;<br &sol;>&NewLine;<i><b>welcome&period;jsp<&sol;b><&sol;i><&sol;p>&NewLine;<pre class&equals;"highlight">&lt&semi;&percnt;&commat; page language&equals;"java" contentType&equals;"text&sol;html&semi; charset&equals;ISO-8859-1" &NewLine; pageEncoding&equals;"ISO-8859-1"&percnt;&gt&semi; &NewLine;&lt&semi;&percnt;&commat; taglib prefix&equals;"s" uri&equals;"&sol;struts-tags"&percnt;&gt&semi; &NewLine;&lt&semi;&excl;DOCTYPE html PUBLIC "-&sol;&sol;W3C&sol;&sol;DTD HTML 4&period;01 Transitional&sol;&sol;EN" &NewLine;"http&colon;&sol;&sol;www&period;w3&period;org&sol;TR&sol;html4&sol;loose&period;dtd"&gt&semi; &NewLine;&lt&semi;html&gt&semi; &NewLine;&lt&semi;head&gt&semi; &NewLine;&lt&semi;title&gt&semi;Email Form&lt&semi;&sol;title&gt&semi; &NewLine;&lt&semi;&sol;head&gt&semi; &NewLine;&lt&semi;body&gt&semi; &NewLine; &lt&semi;em&gt&semi;The form below uses Google's SMTP server&period; &NewLine; So you need to enter a gmail username and password &NewLine; &lt&semi;&sol;em&gt&semi; &NewLine; &lt&semi;form action&equals;"emailer" method&equals;"post"&gt&semi; &NewLine; &lt&semi;label for&equals;"from"&gt&semi;From&lt&semi;&sol;label&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;input type&equals;"text" name&equals;"from"&sol;&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;label for&equals;"password"&gt&semi;Password&lt&semi;&sol;label&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;input type&equals;"password" name&equals;"password"&sol;&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;label for&equals;"to"&gt&semi;To&lt&semi;&sol;label&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;input type&equals;"text" name&equals;"to"&sol;&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;label for&equals;"subject"&gt&semi;Subject&lt&semi;&sol;label&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;input type&equals;"text" name&equals;"subject"&sol;&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;label for&equals;"body"&gt&semi;Body&lt&semi;&sol;label&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;input type&equals;"text" name&equals;"body"&sol;&gt&semi;&lt&semi;br&sol;&gt&semi; &NewLine; &lt&semi;input type&equals;"submit" value&equals;"Send Email"&sol;&gt&semi; &NewLine; &lt&semi;&sol;form&gt&semi; &NewLine;&lt&semi;&sol;body&gt&semi; &NewLine;&lt&semi;&sol;html&gt&semi; &NewLine;<&sol;pre>&NewLine;<p><i><b>success&period;jsp<&sol;b><&sol;i><br &sol;>&NewLine;We will use JSP file <i><b>success&period;jsp<&sol;b><&sol;i> which will be invoked in case action returns SUCCESS&comma; but we will have another view file in case of an ERROR is returned from the action&period;<&sol;p>&NewLine;<&sol;div>&NewLine;<pre class&equals;"highlight">&lt&semi;&percnt;&commat; page language&equals;"java" contentType&equals;"text&sol;html&semi; charset&equals;ISO-8859-1" &NewLine; pageEncoding&equals;"ISO-8859-1"&percnt;&gt&semi; &NewLine;&lt&semi;&percnt;&commat; taglib prefix&equals;"s" uri&equals;"&sol;struts-tags"&percnt;&gt&semi; &NewLine;&lt&semi;&excl;DOCTYPE html PUBLIC "-&sol;&sol;W3C&sol;&sol;DTD HTML 4&period;01 Transitional&sol;&sol;EN" &NewLine;"http&colon;&sol;&sol;www&period;w3&period;org&sol;TR&sol;html4&sol;loose&period;dtd"&gt&semi; &NewLine;&lt&semi;html&gt&semi; &NewLine;&lt&semi;head&gt&semi; &NewLine;&lt&semi;title&gt&semi;Email Success&lt&semi;&sol;title&gt&semi; &NewLine;&lt&semi;&sol;head&gt&semi; &NewLine;&lt&semi;body&gt&semi; &NewLine; Your email to &lt&semi;s&colon;property value&equals;"to"&sol;&gt&semi; was sent successfully&period; &NewLine;&lt&semi;&sol;body&gt&semi; &NewLine;&lt&semi;&sol;html&gt&semi; &NewLine;<&sol;pre>&NewLine;<&sol;div>&NewLine;<p><i><b>error&period;jsp<&sol;b><&sol;i><br &sol;>&NewLine;Following will be the view file <i><b>error&period;jsp<&sol;b><&sol;i> in case of an ERROR is returned from the action&period;<&sol;p>&NewLine;<pre class&equals;"highlight">&lt&semi;&percnt;&commat; page language&equals;"java" contentType&equals;"text&sol;html&semi; charset&equals;ISO-8859-1" &NewLine; pageEncoding&equals;"ISO-8859-1"&percnt;&gt&semi; &NewLine;&lt&semi;&percnt;&commat; taglib prefix&equals;"s" uri&equals;"&sol;struts-tags"&percnt;&gt&semi; &NewLine;&lt&semi;&excl;DOCTYPE html PUBLIC "-&sol;&sol;W3C&sol;&sol;DTD HTML 4&period;01 Transitional&sol;&sol;EN" &NewLine;"http&colon;&sol;&sol;www&period;w3&period;org&sol;TR&sol;html4&sol;loose&period;dtd"&gt&semi; &NewLine;&lt&semi;html&gt&semi; &NewLine;&lt&semi;head&gt&semi; &NewLine;&lt&semi;title&gt&semi;Email Error&lt&semi;&sol;title&gt&semi; &NewLine;&lt&semi;&sol;head&gt&semi; &NewLine;&lt&semi;body&gt&semi; &NewLine; There is a problem sending your email to &lt&semi;s&colon;property value&equals;"to"&sol;&gt&semi;&period; &NewLine;&lt&semi;&sol;body&gt&semi; &NewLine;&lt&semi;&sol;html&gt&semi; &NewLine;<&sol;pre>&NewLine;<&sol;div>&NewLine;<h2><b>Configuration Files&colon;<&sol;b><&sol;h2>&NewLine;<p>Now let us put everything together using the <i><b>struts&period;xml <&sol;b><&sol;i>configuration file as follows&colon;<&sol;p>&NewLine;<pre class&equals;"highlight">&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"UTF-8" &quest;&gt&semi; &NewLine;&lt&semi;&excl;DOCTYPE struts PUBLIC &NewLine; "-&sol;&sol;Apache Software Foundation&sol;&sol;DTD Struts Configuration 2&period;0&sol;&sol;EN" &NewLine; "http&colon;&sol;&sol;struts&period;apache&period;org&sol;dtds&sol;struts-2&period;0&period;dtd"&gt&semi; &NewLine; &NewLine;&lt&semi;struts&gt&semi; &NewLine; &lt&semi;constant name&equals;"struts&period;enable&period;DynamicMethodInvocation" value&equals;"false" &sol;&gt&semi; &NewLine; &lt&semi;constant name&equals;"struts&period;devMode" value&equals;"false" &sol;&gt&semi; &NewLine; &lt&semi;constant name&equals;"struts&period;custom&period;i18n&period;resources" value&equals;"myapp" &sol;&gt&semi; &NewLine; &NewLine; &lt&semi;package name&equals;"default" extends&equals;"struts-default" namespace&equals;"&sol;"&gt&semi; &NewLine; &lt&semi;action name&equals;"emailer" class&equals;"com&period;dineshonjava&period;struts2&period;mail&period;action&period;MailAction" method&equals;"execute"&gt&semi; &NewLine; &lt&semi;result name&equals;"success"&gt&semi;&sol;success&period;jsp&lt&semi;&sol;result&gt&semi; &NewLine; &lt&semi;result name&equals;"error"&gt&semi;&sol;error&period;jsp&lt&semi;&sol;result&gt&semi; &NewLine; &lt&semi;&sol;action&gt&semi; &NewLine; &lt&semi;&sol;package&gt&semi; &NewLine; &NewLine;&lt&semi;&sol;struts&gt&semi; &NewLine;<&sol;pre>&NewLine;<&sol;div>&NewLine;<p>Following is the content of <i><b>web&period;xml<&sol;b><&sol;i> file&colon;<&sol;p>&NewLine;<pre class&equals;"highlight">&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"UTF-8"&quest;&gt&semi; &NewLine;&lt&semi;web-app xmlns&colon;xsi&equals;"http&colon;&sol;&sol;www&period;w3&period;org&sol;2001&sol;XMLSchema-instance" xmlns&equals;"http&colon;&sol;&sol;java&period;sun&period;com&sol;xml&sol;ns&sol;javaee" xmlns&colon;web&equals;"http&colon;&sol;&sol;java&period;sun&period;com&sol;xml&sol;ns&sol;javaee&sol;web-app&lowbar;2&lowbar;5&period;xsd" xsi&colon;schemaLocation&equals;"http&colon;&sol;&sol;java&period;sun&period;com&sol;xml&sol;ns&sol;javaee http&colon;&sol;&sol;java&period;sun&period;com&sol;xml&sol;ns&sol;javaee&sol;web-app&lowbar;3&lowbar;0&period;xsd" id&equals;"WebApp&lowbar;ID" version&equals;"3&period;0"&gt&semi; &NewLine; &lt&semi;display-name&gt&semi;Struts2Mail&lt&semi;&sol;display-name&gt&semi; &NewLine; &lt&semi;filter&gt&semi; &NewLine; &lt&semi;filter-name&gt&semi;struts2&lt&semi;&sol;filter-name&gt&semi; &NewLine; &lt&semi;filter-class&gt&semi; &NewLine; org&period;apache&period;struts2&period;dispatcher&period;FilterDispatcher &NewLine; &lt&semi;&sol;filter-class&gt&semi; &NewLine; &lt&semi;&sol;filter&gt&semi; &NewLine; &lt&semi;filter-mapping&gt&semi; &NewLine; &lt&semi;filter-name&gt&semi;struts2&lt&semi;&sol;filter-name&gt&semi; &NewLine; &lt&semi;url-pattern&gt&semi;&sol;&ast;&lt&semi;&sol;url-pattern&gt&semi; &NewLine; &lt&semi;&sol;filter-mapping&gt&semi; &NewLine; &lt&semi;welcome-file-list&gt&semi; &NewLine; &lt&semi;welcome-file&gt&semi;Welcome&period;jsp&lt&semi;&sol;welcome-file&gt&semi; &NewLine; &lt&semi;&sol;welcome-file-list&gt&semi; &NewLine;&lt&semi;&sol;web-app&gt&semi; &NewLine;<&sol;pre>&NewLine;<&sol;div>&NewLine;<p>Now&comma; right click on the project name and click <i><b>Export &gt&semi; WAR<&sol;b><&sol;i> File to create a War file&period; Then deploy this WAR in the Tomcat&&num;8217&semi;s webapps directory&period; Finally&comma; start Tomcat server and try to access<&sol;p>&NewLine;<p><b>URL<i> http&colon;&sol;&sol;localhost&colon;8080&sol;doj&sol;welcome&period;jsp<&sol;i><&sol;b><br &sol;>&NewLine;This will give you following screen&colon;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;07&sol;32323&period;png" border&equals;"0" &sol;><&sol;div>&NewLine;<&sol;div>&NewLine;<p>Enter the required information and click <b>Send Email <&sol;b>button&period; If everything goes fine then you should see the following page<br &sol;>&NewLine;<i><b>http&colon;&sol;&sol;localhost&colon;8080&sol;doj&sol;emailer<&sol;b><&sol;i><&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;&sol;wp-content&sol;uploads&sol;2013&sol;07&sol;34233&period;png" border&equals;"0" &sol;><&sol;div>&NewLine;<p><b>See the Inbox of <i>admin&commat;dineshonjava&period;com<&sol;i> as following&period;<&sol;b><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><b><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;&sol;wp-content&sol;uploads&sol;2013&sol;07&sol;121212-1&period;png" border&equals;"0" &sol;><&sol;b><&sol;div>&NewLine;<p><b><br &sol;>&NewLine;<&sol;b> <b>If any error come to sending the mail the following is coming&period;<&sol;b><&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;07&sol;212111&period;png" border&equals;"0" &sol;><&sol;div>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<&sol;div>&NewLine;<h2><b>Download Source Code&plus;Libs<&sol;b><br &sol;>&NewLine;<b><a href&equals;"https&colon;&sol;&sol;sites&period;google&period;com&sol;a&sol;dineshonjava&period;com&sol;dineshonjava&sol;dineshonjava&sol;Struts2Mail&period;zip&quest;attredirects&equals;0&amp&semi;d&equals;1" target&equals;"&lowbar;blank" rel&equals;"noopener">Struts2Mail&period;zip<&sol;a><&sol;b><&sol;h2>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div style&equals;"background-color&colon; pink&semi; border-width&colon; thin&semi; text-align&colon; center&semi;"><b>&lt&semi;&lt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;struts-2-database-access&sol;">Previous<&sol;a> &lt&semi;&lt&semi;   &vert;&vert; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;struts-2-baby-step-to-learn&sol;">Index <&sol;a>&vert;&vert;   &gt&semi;&gt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;struts2-validation-with-example&sol;">Next<&sol;a> &gt&semi;&gt&semi;<&sol;b><&sol;div>&NewLine;<&sol;div>&NewLine;<div class&equals;"wp-post-navigation"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-pre"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;struts-2-database-access&sol;">Previous<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-next"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;struts2-validation-with-example&sol;">Next<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;<&sol;div>&NewLine;<script type&equals;"text&sol;javascript">&NewLine;jQuery&lpar;document&rpar;&period;ready&lpar;function&lpar;&dollar;&rpar; &lbrace;&NewLine; &dollar;&period;post&lpar;'https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-admin&sol;admin-ajax&period;php'&comma; &lbrace;action&colon; 'mts&lowbar;view&lowbar;count'&comma; id&colon; '383'&rcub;&rpar;&semi;&NewLine;&rcub;&rpar;&semi;&NewLine;<&sol;script>

Dinesh Rajput

Dinesh Rajput is the chief editor of a website Dineshonjava, a technical blog dedicated to the Spring and Java technologies. It has a series of articles related to Java technologies. Dinesh has been a Spring enthusiast since 2008 and is a Pivotal Certified Spring Professional, an author of a book Spring 5 Design Pattern, and a blogger. He has more than 10 years of experience with different aspects of Spring and Java design and development. His core expertise lies in the latest version of Spring Framework, Spring Boot, Spring Security, creating REST APIs, Microservice Architecture, Reactive Pattern, Spring AOP, Design Patterns, Struts, Hibernate, Web Services, Spring Batch, Cassandra, MongoDB, and Web Application Design and Architecture. He is currently working as a technology manager at a leading product and web development company. He worked as a developer and tech lead at the Bennett, Coleman & Co. Ltd and was the first developer in his previous company, Paytm. Dinesh is passionate about the latest Java technologies and loves to write technical blogs related to it. He is a very active member of the Java and Spring community on different forums. When it comes to the Spring Framework and Java, Dinesh tops the list!

Share
Published by
Dinesh Rajput

Recent Posts

Strategy Design Patterns using Lambda

Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…

4 years ago

Decorator Pattern using Lambda

Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…

4 years ago

Delegating pattern using lambda

Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…

4 years ago

Spring Vs Django- Know The Difference Between The Two

Technology has emerged a lot in the last decade, and now we have artificial intelligence;…

4 years ago

TOP 20 MongoDB INTERVIEW QUESTIONS 2022

Managing a database is becoming increasingly complex now due to the vast amount of data…

4 years ago

Scheduler @Scheduled Annotation Spring Boot

Overview In this article, we will explore Spring Scheduler how we could use it by…

4 years ago