0% found this document useful (0 votes)
773 views17 pages

Springbootand MVC

The document describes the implementation of internationalization and login functionality in a Spring Boot application. It includes Java configuration classes and JSP files for the front-end. The internationalization section shows how to configure locale resolution and message handling. The login section demonstrates model-view-controller pattern with validation and redirection on success/failure.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
773 views17 pages

Springbootand MVC

The document describes the implementation of internationalization and login functionality in a Spring Boot application. It includes Java configuration classes and JSP files for the front-end. The internationalization section shows how to configure locale resolution and message handling. The login section demonstrates model-view-controller pattern with validation and redirection on success/failure.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 17

1.

Front End-Internationalization

home.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1" isELIgnored="false"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"http://www.w3.org/TR/html4/loose.dtd">
<html>

<body style="background-color:lavender">

<h1 align="center"> Internationalization</h1>

<form:form method="get" modelAttribute="customer">

<table>
<tr><td id="id1"><spring:message code="label.custName"/></td><td><form:input
name="customerName" path="customerName"/></td></tr>
<tr><td id="id2"><spring:message code="label.emailId"/></td><td><form:input
name="emailid" path="emailid"/></td></tr>
<tr><td id="id3"><spring:message code="label.address"/></td><td><form:input
name="address" path="address"/></td></tr>
<tr><spring:message code="label.submit" var="valSubmit"/>
<td><input type="submit" value="${valSubmit}" name="submit"/></td>
<td><input type="reset" value="Cancel"/></td>
</tr>
</table>
</form:form>
</body>
</html>

-------------
InternationalizationConfig.java

package controller;

import java.util.Locale;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;

@Configuration
public class InternationalizationConfig extends WebMvcConfigurerAdapter {

//Create a SessionLocaleResolver object and set the default locale to English


return the SessionLocaleResolver object
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver ();
sessionLocaleResolver.setDefaultLocale(new Locale("en"));
return sessionLocaleResolver;
}

//Create LocaleChangeInterceptor object and set the parameter name as language


and return the localeChangeInterceptor
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor localeChangeInterceptor = new
LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("language");
return localeChangeInterceptor;

//register the LocaleChangeInterceptor


@Override
public void addInterceptors(InterceptorRegistry registry) {
LocaleChangeInterceptor localeChangeInterceptor = new
LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("language");
registry.addInterceptor(localeChangeInterceptor);

}
}

-----------
InternationalizationApplication.java
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication

@ComponentScan("com.*,controller,model")
public class InternationalizationApplication {

public static void main(String[] args) {


SpringApplication.run(InternationalizationApplication.class, args);
}

---------------------------------------------
end------------------------------------------------------------------
2. ZeeZeeLogin

LoginController.java
package com.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.ui.Model;

import com.bean.LoginBean;
import com.service.LoginService;

@Controller
public class LoginController {
@Autowired
private LoginService service;

@RequestMapping(value = "/login", method = RequestMethod.GET)


public String showLoginpage(@ModelAttribute("login") LoginBean loginBean) {
return "login";
}

@RequestMapping(value = "/submitlogin", method = RequestMethod.POST)


public ModelAndView checkLoginDetails(@ModelAttribute("login") LoginBean
loginBean, BindingResult result) {
boolean isValidUser = service.validate(loginBean);

if (result.hasErrors()) {
return new ModelAndView("login");
}
if (!isValidUser) {
return new ModelAndView("invalid");
}
return new
ModelAndView("success","userName",loginBean.getUserName());
}
}

-----------
LoginAppApplication.java
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(scanBasePackages = { "com.controller",
"com.service","com.bean" })
public class LoginAppApplication {

public static void main(String[] args) {


SpringApplication.run(LoginAppApplication.class, args);
}
}
---------
LoginService.java

package com.service;
import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.bean.LoginBean;

@Service
public class LoginService {
public boolean validate(LoginBean bean) {
return (bean.getUserName().equals(bean.getPassword()));
}
}
------------
invalid.jsp

<html>
<body bgcolor="lavender">
<h2>Sorry!! Invalid Credentials. Try again</h2>
</body>
</html>
---------
login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="s" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body bgcolor="lavender">
<center>
<h1>ZEE-ZEE Web Portal</h1>
<form:form modelAttribute="login" action="submitlogin" method="POST">
<table>
<tr>
<td><form:label path="userName">UserName:</form:label></td>
<td><form:input path="userName" name="userName" id="userName" /></td>
</tr>
<tr>
<td><form:label path="password">Password:</form:label></td>
<td><form:password path="password" name="password" id="password"
/></td>
</tr>
<tr>
<td><input type="submit" value="Login" name="submit" id="submit"></td>
<td><input type="reset" value="Cancel" name="reset" id="reset"></td>
</tr>
</table>
</form:form>
</center>
</body>
</html>

---------
success.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1" isELIgnored="false"%>
<body bgcolor="lavender">
<h2>Login Successful !!! Welcome ${userName}</h2>
</body>
------------
pom.xml

<?xml version="1.0" encoding="UTF-8"?>


<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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.controller</groupId>
<artifactId>ZeeZeeLogin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>LoginApp</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.7.RELEASE</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
---------
Application.properties
#Do Not change the key. Value that is port number can be changed
#include other necessary configurations
server.port=8085
spring.mvc.view.prefix = /WEB-INF/jsp/
spring.mvc.view.suffix = .jsp
spring.mvc.static-path-pattern=/resources/**
--------------------------------------
end---------------------------------------------------------------

3.Movie ticket booking

pom.xml

<?xml version="1.0" encoding="UTF-8"?>


<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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.controller</groupId>
<artifactId>MovieTicketBooking</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>MovieTicketBooking</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.7.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
---------------
TicketController.java
package com.controller;
import java.util.*;

import org.springframework.beans.factory.annotation.Autowired;
import com.service.TicketService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.model.Ticket;
@Controller
public class TicketController {

@Autowired
private TicketService ticketService;

@RequestMapping(value="/showpage",method=RequestMethod.GET)
public String showPage(@ModelAttribute("ticket") Ticket ticket){
ticket=new Ticket();
return "showpage";
}
@RequestMapping(value="/calculateCost",method=RequestMethod.POST)
public String calculateTotalCost(@ModelAttribute("ticket") Ticket
ticket,ModelMap model,BindingResult result) {

double ans=ticketService.calculateTotalCost(ticket);
model.put("cost", ans);
return "result";
}
@ModelAttribute("circleList")
public Map<String,String> buildState(){
Map<String, String> map=new HashMap<String, String>();
map.put("Queen", "Queen");
map.put("King", "King");
return map;

}
----------------
MovieTicketBookingApplication.java

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan({"com.controller","com.model","com.service"})
public class MovieTicketBookingApplication {

public static void main(String[] args) {


SpringApplication.run(MovieTicketBookingApplication.class, args);
}

}
------------
TicketService.java

package com.service;

import org.springframework.stereotype.Service;

import com.model.Ticket;;
@Service
public class TicketService {

public double calculateTotalCost(Ticket ticket)


{
String type=ticket.getCircleType();
double ans=0.0;
if(type.equals("Queen")){
ans=ticket.getNoOfTickets()*(double)250;
}
else
{
ans=ticket.getNoOfTickets()*(double)150;
}
return ans;

}
---------
Application.properties
#Do not change the key server.port
#Its value port number can be changed
#Include other required configurations here
server.port=9066
spring.mvc.view.prefix = /WEB-INF/views/
spring.mvc.view.suffix = .jsp
--------------
result.jsp

<%@page isELIgnored="false" %>


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body bgcolor="lavender">
<h2>Your total cost is Rs.${cost}/-</h2>
</body>
</html>
------
showpage.jsp

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>


<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body style="background-color:lavender">
<h1><center> Movie Ticket Booking </center></h1>
<form:form method="POST" action="/calculateCost" modelAttribute="ticket">

<table>
<tr>
<td><sf:label path="movieName">Movie Name</sf:label></td>
<td><sf:input path="movieName" id="movieName" /></td>

</tr>

<tr>
<td><sf:label path="circleType">Choose
Circle:</sf:label></td>
<td><sf:select path="circleType" id="circleType"
items="${circleList}" /></td>
</tr>
<tr>
<td><sf:label path="noOfTickets">Number of
Tickets</sf:label></td>
<td><sf:input path="noOfTickets" id="noOfTickets" /></td>
</tr>
<tr>
<td><input type="submit" value="CalculateCost" id="submit"
name="submit"></td>

</tr>
</table>

</form:form>

</body>
</html>

---------------------------end-----------------------------------------------------
4.
pom.xml

<?xml version="1.0" encoding="UTF-8"?>


<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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.controller</groupId>
<artifactId>HolidayParty_new</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>HolidayParty_new</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.7.RELEASE</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
-------
RegistrationController.java

package com.controller;
import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.model.RegistrationBean;
import com.validate.CustomValidator;

@Controller
public class RegistrationController {

@Autowired
private CustomValidator custValidator;

@RequestMapping(value="/registerPage",method=RequestMethod.GET)
public String registerPage(@ModelAttribute("register") RegistrationBean
registrationBean){
registrationBean= new RegistrationBean();

return "registrationpage";
}

@RequestMapping(value="/register", method=RequestMethod.POST)
public String performRegistration(@ModelAttribute("register") @Valid
RegistrationBean registrationBean,BindingResult result) {
custValidator.validate(registrationBean , result);
if(result.hasErrors()){
return "registrationpage";
}
else{

//model.addAttribute("userName", registrationBean.getUserName());
//model.addAttribute("emailId", registrationBean.getEmailId());

return "thankyou";
}

}
}
---------
HolidayPartyNewApplication.java

package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@SpringBootApplication
@ComponentScan("com.*")
public class HolidayPartyNewApplication {

public static void main(String[] args) {


SpringApplication.run(HolidayPartyNewApplication.class, args);
}

---------
RegistrationBean.java

package com.model;

public class RegistrationBean {


private String userName;

private long contactNumber;

private String emailId;

private String confirmEmailId;

private boolean status;

public boolean isStatus() {


return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public long getContactNumber() {
return contactNumber;
}
public void setContactNumber(long contactNumber) {
this.contactNumber = contactNumber;
}
public String getEmailId() {
return emailId;
}
public void setEmailId(String emailId) {
this.emailId = emailId;
}
public String getConfirmEmailId() {
return confirmEmailId;
}
public void setConfirmEmailId(String confirmEmailId) {
this.confirmEmailId = confirmEmailId;
}
}
----------
package com.validate;
import org.springframework.stereotype.Service;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

import com.model.RegistrationBean;
@Service
public class CustomValidator implements Validator{

public void validate(Object arg0, Errors arg1) {


RegistrationBean registrationBean = (RegistrationBean)arg0;
if(registrationBean.isStatus() == false){
arg1.rejectValue("status", "","please agree to the terms and
conditions");
}

String phoneNo = ""+registrationBean.getContactNumber();


if(!phoneNo.matches("[0-9]{10}")){
arg1.rejectValue("contactNumber", "", "Contact Number should be
of 10 digits/Contact Number should not be blank");
}

if(registrationBean.getUserName().length()<=0){
arg1.rejectValue("userName", "", "User Name cannot be blank");
}
boolean status1=true;
boolean status2=true;

ValidationUtils.rejectIfEmpty(arg1, "emailId", "emailId.required",


"Email ID cannot be blank");
ValidationUtils.rejectIfEmpty(arg1, "confirmEmailId",
"confirmEmailId.required", "Confirm Email ID cannot be blank");
if(!(registrationBean.getEmailId().matches("^[_A-Za-z0-9-\\+]+(\\.[_A-
Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"))){
arg1.rejectValue("emailId", "","Should be a proper email ID
format");
status1=false;
}
if(!(registrationBean.getEmailId().matches("^[_A-Za-z0-9-\\+]+(\\.[_A-
Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"))){
arg1.rejectValue("confirmEmailId", "","Should be a proper email
ID format");
status2=false;
}
if(status1 && status2){
if(!
(registrationBean.getEmailId().equals(registrationBean.getConfirmEmailId()))){
arg1.rejectValue("confirmEmailId","", "Email and Confirm Email
should be same");
}}
}

public boolean supports(Class<?> arg0) {


// TODO Auto-generated method stub
return RegistrationBean.class.equals(arg0);
}

------------
Application.properties

#include the required configurations.


#Do not change the key server.port. Value for the server.port can be changed
server.port=9091
spring.mvc.view.prefix = /WEB-INF/jsp/
spring.mvc.view.suffix = .jsp

------------
registrationpage.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"http://www.w3.org/TR/html4/loose.dtd">
<html>

<body style="background-color:lavender">

<h1><center> Welcome to Online Help Services </center></h1>


<table>
<sf:form action="register" modelAttribute="register" method="post">
<tr>
<td>UserName:</td>
<td> <sf:input path="userName" id="userName"/></td>
<td><sf:errors path="userName"/></td><br>
</tr>
<tr>
<td>Contact Number</td>
<td><sf:input path="contactNumber" id="contactNumber"/></td>
<td><sf:errors path="contactNumber"/></td><br>
</tr>
<tr>
<td>Email Id</td>
<td><sf:input path="emailId" id="emailId"/></td>
<td><sf:errors path="emailId"/></td><br>
</tr>
<tr>
<td>Confirm Email Id</td>
<td><sf:input path="confirmEmailId" id="confirmEmailId"/></td>
<td><sf:errors path="confirmEmailId"/></td><br>
</tr>
<tr>
<td><sf:checkbox path="status" id="status"/></td>
<td> I agree</td>
<td><sf:errors path="status"/></td><br>
</tr>
<tr>
<td><input type="submit" value="Register" name="submit"></td>
<td><input type="reset" value="Cancel"></td>
</tr>
</sf:form>
</table>

</body>
</html>

----------------------
thankyou.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


<%@page isELIgnored="false" %>
<html>
<body bgcolor="lavender">
<h2 id="thankyou"> Thank you ${register.userName}.We shall mail the contents to $
{register.emailId} </h2>
</body>
</html>

You might also like