Java SE Guide,Java Tutorial,amit,amit manjhi,java, spring, sql,plsql,pl sql,webservices,oracle,java tutorial, interview questions,interview coding,java2080,java 20:80,manjhi,2080,amit manjhi 2080,amit manjhi 2080 blogger, amitin2019, manjhi blogger,java interview questions, java blog,amit manjhi software engineer,amit manjhi,
Thursday, September 26, 2019
Sunday, September 22, 2019
Spring_Content_Core
*******************Welcome to SPRING CORE*********************
1. App_1
2. App_2
3. App_3
4. App_4
5. App_5
6. App_6
7. App_7 (Custom Scope)
8. App_8_Java_Config
9. App_8.1_BeanLifeCycleUsingConstructor
10. App_8.2_BeanLifeCycleUsingInstanceFactoryMethod
11. App_8.3_BeanLifeCycleUsingStaticFactoryMethod
12. App_9_Bean_Initialization_Distruction_using_custom_initialization_distruction
13. App_10
14. App_11
15. App_12_Autowiring_by_Name
16. App_13_Autowiring_By_Type
17. App_14_Autowiring_By_Constructor
18. App_15_Autowiring_By_Annotations
19. App_16_BankApp_By_Autowing
20. App_17_BankApp_AutoDiscovery
21. App_18_BankApp_AutoDiscovery_ServiceLayer_Impl
22. App_19_BankApp_AutoDiscovery_Service_2
23. App_20_Data_Validation
Saturday, September 21, 2019
Spring_MVC_1.1_Login (Using annotations)
-------LoginController
package com.amit.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class LoginController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception
{
String uname = req.getParameter("uname");
String upwd = req. getParameter("upwd");
ModelAndView mav = null;
if(uname.equals("amit") && upwd.equals("amit"))
{
mav = new ModelAndView("success");
}else {
mav = new ModelAndView("failure");
}
return mav;
}
}
==================================================================
---- LoginPageController
package com.amit.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class LoginPageController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception
{
return new ModelAndView("loginForm");
}
}
package com.amit.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class LoginController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception
{
String uname = req.getParameter("uname");
String upwd = req. getParameter("upwd");
ModelAndView mav = null;
if(uname.equals("amit") && upwd.equals("amit"))
{
mav = new ModelAndView("success");
}else {
mav = new ModelAndView("failure");
}
return mav;
}
}
==================================================================
---- LoginPageController
package com.amit.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class LoginPageController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception
{
return new ModelAndView("loginForm");
}
}
=====================================================================
-----ds-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean name="/loginPage" class="com.amit.controllers.LoginPageController"/>
<bean name="/login" class="com.amit.controllers.LoginController"/>
<bean name = "handlerMapping" class = "org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean name = "viewResolver" class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value = ".jsp"/>
</bean>
</beans>
===================================================================
------failure.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2>Amit Software Solutions</h2>
<h3>User Login Page</h3>
<br><br>
<h1>Login Failure</h1>
</body>
</html>
=====================================================================
-------loginform.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<center>
<h2>Amit Software Solutions</h2>
<h3>User Login Page</h3>
<form method="post" action="login">
<table>
<tr>
<td>User Name</td>
<td><input type="text" name ="uname"/></td>
</tr>
<tr>
<td>User Password</td>
<td><input type="password" name ="upwd"/></td>
</tr>
<tr>
<td><input type="submit" value="Login"/></td>
</tr>
</table>
</form>
</center>
</body>
</html>
========================================================================
---------success.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2>Amit Software Solutions</h2>
<h3>User Login Page</h3>
<br><br>
<h1>Login Success</h1>
</body>
</html>
========================================================================
-------- web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>mvc1.3_Login_xml</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>ds</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ds</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
=======================================================================
-------index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:forward page="loginPage"/>
</body>
</html>
========================================================================
Spring_MVC_1.0 (Login using xml)
----LoginController
package com.amit.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class LoginController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception
{
String uname = req.getParameter("uname");
String upwd = req. getParameter("upwd");
ModelAndView mav = null;
if(uname.equals("amit") && upwd.equals("amit"))
{
mav = new ModelAndView("success");
}else {
mav = new ModelAndView("failure");
}
return mav;
}
}
package com.amit.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class LoginController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception
{
String uname = req.getParameter("uname");
String upwd = req. getParameter("upwd");
ModelAndView mav = null;
if(uname.equals("amit") && upwd.equals("amit"))
{
mav = new ModelAndView("success");
}else {
mav = new ModelAndView("failure");
}
return mav;
}
}
=====================================================================
-----LoginPageController
package com.amit.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class LoginPageController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception
{
return new ModelAndView("loginForm");
}
}
======================================================================
-----ds-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean name="/loginPage" class="com.amit.controllers.LoginPageController"/>
<bean name="/login" class="com.amit.controllers.LoginController"/>
<bean name = "handlerMapping" class = "org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean name = "viewResolver" class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value = ".jsp"/>
</bean>
</beans>
=======================================================================
-----web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>mvc1.3_Login_xml</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>ds</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ds</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
=======================================================================
--- index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:forward page="loginPage"/>
</body>
</html>
======================================================================
--failure.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2>Amit Software Solutions</h2>
<h3>User Login Page</h3>
<br><br>
<h1>Login Failure</h1>
</body>
</html>
=======================================================================
---loginform.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<center>
<h2>Amit Software Solutions</h2>
<h3>User Login Page</h3>
<form method="post" action="login">
<table>
<tr>
<td>User Name</td>
<td><input type="text" name ="uname"/></td>
</tr>
<tr>
<td>User Password</td>
<td><input type="password" name ="upwd"/></td>
</tr>
<tr>
<td><input type="submit" value="Login"/></td>
</tr>
</table>
</form>
</center>
</body>
</html>
======================================================================
-----success.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2>Amit Software Solutions</h2>
<h3>User Login Page</h3>
<br><br>
<h1>Login Success</h1>
</body>
</html>
=======================================================================
Spring_App_20_Data_Validation
package com.amit.beans;
public class User
{
private String uname;
private String updw;
private String user;
private String umobile;
private String uemail;
public String getUname()
{
return uname;
}
public void setUname(String uname)
{
this.uname = uname;
}
public String getUpdw()
{
return updw;
}
public void setUpdw(String updw)
{
this.updw = updw;
}
public String getUser()
{
return user;
}
public void setUser(String user)
{
this.user = user;
}
public String getUmobile()
{
return umobile;
}
public void setUmobile(String umobile)
{
this.umobile = umobile;
}
public String getUemail()
{
return uemail;
}
public void setUemail(String uemail)
{
this.uemail = uemail;
}
public void getUserDetails()
{
System.out.println("--------------USer Details------------");
System.out.println("User Name: "+uname);
System.out.println("User password: "+updw);
System.out.println("User UserName: "+user);
System.out.println("User Mobile: "+umobile);
System.out.println("User Email: "+uemail);
}
}
public class User
{
private String uname;
private String updw;
private String user;
private String umobile;
private String uemail;
public String getUname()
{
return uname;
}
public void setUname(String uname)
{
this.uname = uname;
}
public String getUpdw()
{
return updw;
}
public void setUpdw(String updw)
{
this.updw = updw;
}
public String getUser()
{
return user;
}
public void setUser(String user)
{
this.user = user;
}
public String getUmobile()
{
return umobile;
}
public void setUmobile(String umobile)
{
this.umobile = umobile;
}
public String getUemail()
{
return uemail;
}
public void setUemail(String uemail)
{
this.uemail = uemail;
}
public void getUserDetails()
{
System.out.println("--------------USer Details------------");
System.out.println("User Name: "+uname);
System.out.println("User password: "+updw);
System.out.println("User UserName: "+user);
System.out.println("User Mobile: "+umobile);
System.out.println("User Email: "+uemail);
}
}
======================================================================
package com.amit.test;
import java.util.HashMap;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.validation.MapBindingResult;
import org.springframework.validation.ObjectError;
import com.amit.beans.User;
import com.amit.validators.UserValidator;
public class Test {
public static void main(String[] args)
{
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) context.getBean("userbean");
user.getUserDetails();
UserValidator userValidator = (UserValidator) context.getBean("userValidatorBean");
HashMap<String,String> map = new HashMap<String,String>();
MapBindingResult results = new MapBindingResult(map,"com.amit.beans.User");
userValidator.validate(user, results);
List<ObjectError> list = results.getAllErrors();
for(ObjectError err : list)
{
System.out.println(err.getDefaultMessage());
}
}
}
=====================================================================
package com.amit.validators;
import java.io.IOException;
import java.util.Properties;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import com.amit.beans.User;
public class UserValidator implements Validator
{
private Resource resource; // to make available property file resorce here
public Resource getResource() {
return resource;
}
public void setResource(Resource resource) {
this.resource = resource;
}
@Override
public boolean supports(Class type)
{
return User.class.equals(type);
}
@Override
public void validate(Object obj, Errors error)
{
User user = (User)obj;
try
{
Properties p = (Properties) PropertiesLoaderUtils.loadProperties(resource);
if(user.getUname() == null || user.getUname().equals(""))
{
error.rejectValue("uname", "error.uname.required" , p.getProperty("error.uname.required"));
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean id= "userbean" class = "com.amit.beans.User">
<property name = "uname" value = ""></property>
<property name = "updw" value = "pass@123"></property>
<property name = "user" value = "manjhi"></property>
<property name = "umobile" value = "8744973456"></property>
<property name = "uemail" value = "amit@gmail.com"></property>
</bean>
<bean id="userValidatorBean" class = "com.amit.validators.UserValidator">
<property name="resource" value="Messages.properties"></property>
</bean>
</beans>
================================Messages.properties========================
error.uname.required = UserName is Required
Spring_App_19_BankApp_AutoDiscovery_Service_2
package com.amit.Dao;
public interface AccountDao
{
public String create(String accNo, String accName, String accType, int balance);
public String search(String accNo);
public String update(String accNo, String accName, String accType, int balance);
public String delete(String accNo);
}
public interface AccountDao
{
public String create(String accNo, String accName, String accType, int balance);
public String search(String accNo);
public String update(String accNo, String accName, String accType, int balance);
public String delete(String accNo);
}
=====================================================================
package com.amit.Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import oracle.jdbc.pool.OracleDataSource;
@Repository("dao") //-->to making it autodiscover //you can also use @component("dao")
public class AccountDaoImpl implements AccountDao
{
@Autowired //-------> this will inject datasource object into AccountDao (setter/getters not required)
private OracleDataSource datasource;
String status = "";
@Override
public String create(String accNo, String accName, String accType, int balance)
{
try
{
Connection con = datasource.getConnection();
PreparedStatement pst = con.prepareStatement("insert into account values (?,?,?,?)");
pst.setString(1, accNo);
pst.setString(2, accName);
pst.setString(3, accType);
pst.setInt(4, balance);
pst.executeUpdate();
status= "success";
}
catch(Exception e)
{
status = "failure";
e.printStackTrace();
}
return status;
}
@Override
public String search(String accNo) {
return null;
}
@Override
public String update(String accNo, String accName, String accType, int balance) {
return null;
}
@Override
public String delete(String accNo) {
return null;
}
public void showDetails()
{
}
}
==================================================================
package com.amit.service;
public interface AccountService
{
public String createAccount(String accNo, String accName, String accType, int balance);
public String searchAccount(String accNo);
public String updateAccount(String accNo, String accName, String accType, int balance);
public String deleteAccount(String accNo);
}
==================================================================
package com.amit.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.amit.Dao.AccountDao;
@Service("accService")
public class AccountServiceImpl implements AccountService
{
@Autowired(required=true)
private AccountDao dao;
@Override
public String createAccount(String accNo, String accName, String accType, int balance)
{
return dao.create(accNo, accName, accType, balance);
}
@Override
public String searchAccount(String accNo)
{
return null;
}
@Override
public String updateAccount(String accNo, String accName, String accType, int balance)
{
return null;
}
@Override
public String deleteAccount(String accNo)
{
return null;
}
}
====================================================================
package com.amit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.amit.Dao.AccountDaoImpl;
import com.amit.service.AccountService;
public class Test
{
public static void main(String[] args)
{
ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
AccountService accserv = (AccountService)context.getBean("accService");
String status = accserv.createAccount("abc123", "Amit", "Saving", 20000);
if(status.equalsIgnoreCase("success"))
{
System.out.println("Account created successfully");
}
else
{
System.out.println("Oops! something went wrong");
}
}
}
=======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.amit.service"/>
<context:component-scan base-package="com.amit.Dao"/> <!-- Aee, IOC go to this package and scan it for (component,repository,service,controller) & no need to check for bean config-->
<bean id="datasource" class="oracle.jdbc.pool.OracleDataSource"> <!--Driver class Name is not required as it will take automatically -->
<property name="URL" value = "jdbc:oracle:thin:@localhost:1521:orcl"></property>
<property name="user" value = "scott"></property>
<property name="Password" value = "tiger"></property>
</bean>
<!-- <bean id="dao" class ="com.amit.Dao.AccountDaoImpl"> </bean> -->
<!-- Not required when we are using Auto-Discovery/streotype ..As ID (dao) is mentioned in AccontDAOImpl @Repository("dao") -->
</beans>
Subscribe to:
Comments (Atom)
-
Exception in thread "main" java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell at org.apache.poi.xss...
-
package multithreading; import java.util.concurrent.locks.ReentrantLock; class MyyThread extends Thread { static ReentrantLock l = n...