Create maven web based application in eclipse - copy paste below code
web.xml
<web-app 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_3.xsd"
version="2.3">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<!-- <url-pattern>*.htm</url-pattern> -->
<url-pattern>*.json</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="com.krishna" />
<mvc:annotation-driven />
<bean name="jsonTemplate" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>
</beans>
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.krishna</groupId>
<artifactId>springhomeweb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>springhomeweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.0.1.RELEASE</spring.version>
<com.fasterxml.jackson-version>2.4.1</com.fasterxml.jackson-version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${com.fasterxml.jackson-version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${com.fasterxml.jackson-version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${com.fasterxml.jackson-version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
</dependencies>
<build>
<finalName>springhomeweb</finalName>
</build>
</project>
index.jsp
<div ng-app="myApp">
<div ng-controller="AppController">
<div ng-view></div>
<div ui-view></div>
<a href="#/login">Login</a> <a href="#/register">Registration</a>
<a ng-click="reload();" class="navbar-brand" title="Refresh" href="#"
data-translate>Refresh</a>
</div>
</div>
AppConrtroller.js
var myApp = angular.module('myApp', ['ngRoute']);
myApp.controller('AppController', ['$scope','appService', '$route',
function($scope,appService,$route) {
$scope.loginSubmit = function(login){
alert(login.userName);
appService.submitLogin(login);
};
$scope.register = function(user){
alert("In registration : "+user.firstName);
appService.register(user);
};
$scope.reload = function(){
alert("Refreshing....");
$route.reload();
};
}]);
appService.js
myApp.service('appService',['$http','$location',function($http,$location) {
// For User Login
this.submitLogin = function(login){
console.log("login json: "+login);
$http({
url: "user/login.json",
data: login,
method: "POST",
headers: {
"Content-Type": "application/json"
}
}).success(function(response){
alert("Login: "+response);
}).error(function(error){
alert("Login: "+error);
});
};
// For User Registration
this.register = function(user){
$http({
url: "user/register.json",
data: user,
method: "POST",
headers: {
"Content-Type": "application/json"
}
}).success(function(response){
alert("Registration: "+response);
$location.replace("login.jsp");
}).error(function(error){
alert("Registration: "+error);
});
};
}]);
AppRouteProvider.js
myApp.config(function ($routeProvider) {
$routeProvider
.when('/login',{
templateUrl:'login.jsp',
controller: 'AppController'
})
.when('/register',{
templateUrl:'registration.jsp',
controller: 'AppController'
})
.otherwise({
redirectTo:'/'
});
});
MainController.java
package com.krishna.controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.krishna.model.Login;
import com.krishna.model.LoginResponse;
import com.krishna.model.User;
/**
* @author Krishna Kumar
*
*/
@RestController
@RequestMapping("/user")
public class MainController {
@RequestMapping(value = "/login.json", method = RequestMethod.POST)
public LoginResponse validateLogin(@RequestBody Login login){
System.out.println("Param Value: "+login.getUserName());
LoginResponse lr = new LoginResponse();
lr.setSuccess("Success Found");
return lr;
}
@RequestMapping(value = "/register.json", method = RequestMethod.POST)
public String register(@RequestBody User user){
System.out.println("Param Value Registration: "+user.getUserName());
return "User Registered Successfully.";
}
}