Directives

 

<DOCTYPE html>
<html>
    <head>
        <meta CHARSET="UTF-8">
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    </head>
    <body ng-app="">
        <fieldset>
            <legend>
                Single Variables
            </legend>
            <div ng-init="name = 'Angular JS'">
                Hello {{name}}
            </div>
        </fieldset>
        <fieldset>
            <legend>
                Multiple Variables
            </legend>
            <div ng-init="first_name = 'Angular';last_name = 'JS'">
                Hello {{first_name + ' ' + last_name}}
            </div>
        </fieldset>
        <fieldset>
            <legend>
                Model
            </legend>
            <div ng-init="model_variable = 'Hello Model'">
                <input type="text" ng-model="model_variable" />
                Hello {{model_variable}}
                <div ng-bind="model_variable"></div>
            </div>
        </fieldset>
        <fieldset>
            <legend>
                JSON objects
            </legend>
            <div ng-init="months={'first':'January', 'last':'December'}">
                First Month : {{months.first}} <br/>
                Last Month : {{months.last}}
            </div>
        </fieldset>
        Hello {{'World'}}
    </body>
</html>

 

 

Angular Html

 

<DOCTYPE html>
<html>
    <head>
        <meta CHARSET="UTF-8">
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="">
            Hello {{'Angular'}}
        </div>
        Hello {{'World'}}
    </body>
</html>

 

 

Spring Resources

Step 1. Create resource directory


Step 2. Add tags in web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
        <url-pattern>*.css</url-pattern>
        <url-pattern>*.js</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
</web-app>

 


Step 3. Configure dispatcher-servlet.xml

 

<?xml version='1.0' encoding='UTF-8' ?>
<!-- was: <?xml version="1.0" encoding="UTF-8"?> -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

    <context:component-scan base-package="shaileshsonare.com.blog.controller"/>

    <!--<mvc:resources mapping="/resources/**" location="/resources/" cache-period="10000" />-->
    <mvc:annotation-driven />
        <mvc:resources mapping="/resources/**" location="/resources/red/"/>

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/jsp/"
          p:suffix=".jsp" />
</beans>

 


Step 4. link or include in jsp page

<head>
    <meta charset="UTF-8">
    <title>Welcome to Spring Web MVC project</title>
    <link href="<c:url value="/resources/css/default.css" />" rel="stylesheet">
          <link href="<c:url value="/resources/js/default.css" />" rel="stylesheet">
</head>

 


<img width="100px" height="50px" src="<c:url value="/resources/images/logo.gif"/>"/>

 

BeanFactory and Application Context

Bean Factory

  • Bean instantiation/wiring

Application Context

  • Bean instantiation/wiring
  • Automatic BeanPostProcessor registration
  • Automatic BeanFactoryPostProcessor registration
  • Convenient MessageSource access (for i18n)
  • ApplicationEvent publication

Bean Factory

 

BeanFactory beanFactory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader((BeanDefinitionRegistry) beanFactory);
reader.loadBeanDefinitions(new ClassPathResource("spring.xml"));

ComponentClass cc = (ComponentClass) beanFactory.getBean("compclass");

 


<bean id="compclass" class="com.classes.ComponentClass" />

 


Application Context

ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
ComponentClass cc = (ComponentClass) context.getBean("compclass");

 


 

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
      p:location="myproperties.properties" />

<bean id="compclass" class="com.classes.ComponentClass" p:age="${myp.age}" />

 


<bean id="compclass" class="com.classes.ComponentClass">
    <property name="age" value="30"/>
</bean>

 


Ref:

  1. http://stackoverflow.com/questions/243385/beanfactory-vs-applicationcontext
  2. http://stackoverflow.com/questions/5231371/springs-xmlbeanfactory-is-deprecated

Collections

 

ArrayList list = new ArrayList();
        list.add("h");
        list.add("e");
        list.add("l");
        list.add("l");
        list.add("o");

        for (int i = 1; i < 10; i++) {
            list.add(i);
        }

        Iterator it = list.iterator();

        while (it.hasNext()) {
            out.println(it.next() + "<br/>");
        }

        HashSet hs = new HashSet();
        hs.add("A");
        hs.add("B");
        hs.add("C");
        hs.add("C");
        hs.add("C");

        HashMap hm = new HashMap();
        hm.put("a", "A");
        hm.put("b", "B");

        Iterator its = hs.iterator();

        while (its.hasNext()) {
            out.println(its.next() + "<br/>");
        }

        Iterator itr = hm.entrySet().iterator();

        while (itr.hasNext()) {
            Map.Entry pair = (Map.Entry) itr.next();
            out.println(pair.getKey() + " => " + pair.getValue() + "<br/>");
        }

        String[] strarr = new String[10];

        for (int i = 0; i < 10; i++) {
            strarr[i] = "abc" + i;
        }

        for (String valu : strarr) {
            out.println(valu);
        }

 
Ref:

  1. http://stackoverflow.com/questions/85190/how-does-the-java-for-each-loop-work
  2. http://stackoverflow.com/questions/4131655/what-is-the-difference-between-lists-arraylists-maps-hashmaps-collections-et
  3. https://www.quora.com/What-is-the-difference-between-a-Set-and-a-Map-in-Java
  4. http://stackoverflow.com/questions/1066589/iterate-through-a-hashmap
  5. http://stackoverflow.com/questions/1200621/how-to-declare-an-array-in-java
  6. http://stackoverflow.com/questions/1665834/how-can-i-initialize-a-string-array-with-length-0-in-java

Session Management in Java

List of Files

  1. header.jsp
  2. login.jsp
  3. home.jsp
  4. logout.jsp

header.jsp

<a href="login.jsp">Login</a>
<a href="home.jsp">Home</a>
<a href="logout.jsp">Logout</a>

 


login.jsp

 

<%
    HttpSession sess = request.getSession();

    if (sess.getAttribute("sess_username") != null) { // check is session variable exist in session pool or not
        response.sendRedirect("home.jsp"); // if session variable is already set then redirect it to home page else stay on login page
    }
%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%@include file="header.jsp" %>
        <h1>Login</h1>
        <form action="home.jsp" method="post">
            Username <input type="text" name="username"/><br/>
            Password <input type="password" name="password"/><br/>
            <input type="submit" value="Login"/>
        </form>
    </body>
</html>

 


home.jsp

 

<%
    HttpSession sess = request.getSession(); //get the session object from getSession() method of request object

    if (sess.getAttribute("sess_username") == null) { // check whether the session variable is exist in session pool or not
        sess.setAttribute("sess_username", request.getParameter("username")); // create session variable if it is not present in session pool
    }
%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%@include file="header.jsp" %>
        <h1>Home</h1>
        <h2>Hello <%=sess.getAttribute("sess_username")%> </h2>
    </body>
</html>

 


logout.jsp

 

<%
    HttpSession sess = request.getSession();
    sess.invalidate(); // this will terminate the session and destroy all variables stored in session pool
%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%@include file="header.jsp" %>
        <h1>Logout</h1>
    </body>
</html>

 


Display Session variables from pool

Console o/p:

 

Enumeration attributeNames = sess.getAttributeNames();

while (attributeNames.hasMoreElements()) {

    String name = (String) attributeNames.nextElement();

    String value = (String) sess.getAttribute(name);

    out.println(name + "=" + value);

}

 

JSTL(Java Server Pages Standard Tag Library) o/p:

<c:forEach var="session" items="${sessionScope}">

    ${session.key} = ${session.value}

</c:forEach>