MVC Example – 2

Browser – HTML page (for input)

<!-- webapss/StudMVC4/SelectSemester.html" -->
<html>
	<body>
		<form action="StudentResult.do">
			Enter roll no. :
			<input type="text" name="eno"><br>
			<input type="submit">
			<input type="reset">
		</form>
	</body>
</html>

Servlet ( controller) file

/* webapss/StudMVC4/WEB-INF/classes/controller/StudentResult.java */
package controller;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import model.*;
import java.util.*;
public class StudentResult extends HttpServlet
{
	public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
	{
		String eno = req.getParameter("eno");
		ResultBean rb = ResultBean.getStudentDetails(eno);
		int total = sb.getM1() + sb.getM2() + sb.getM3();
		float per = total/3.0f;
                req.setAttribute("result",rb);
		req.setAttribute("total",total);
		req.setAttribute("per",per);
		RequestDispatcher rd = req.getRequestDispatcher("/WEB-INF/result.jsp");
		rd.forward(req,res);
		
	}
}

Bean (Model)

/* webapss/StudMVC4/WEB-INF/classes/model/ResultBean.java */
package model;
import java.util.*;
public class ResultBean 
{
	private String eno,fnm,lnm;
	int m1,m2,m3;
	private static HashMap student;
	
	public ResultBean(String eno,String fnm,String lnm,int m1,int m2,int m3)
	{
		this.eno = eno;
		this.fnm = fnm;
		this.lnm = lnm;
		this.m1 = m1;
		this.m2 = m2;
		this.m3 = m3;
	}
	static
	{
		student = new HashMap();
		student.put("e1",new ResultBean("e1","aaa","lnm",56,67,78));
		student.put("e2",new ResultBean("e2","bbb","lnm",76,67,78));
		student.put("e3",new ResultBean("e3","ccc","lnm",56,69,78));
		student.put("e4",new ResultBean("e4","ddd","lnm",56,67,71));
		student.put("e5",new ResultBean("e5","eee","lnm",50,76,78));
	}
	public static ResultBean getStudentDetails(String eno)
	{
		return ((ResultBean)student.get(eno));
	}
	public String getFirstName()
	{
		return fnm;
	}
	public String getLastName()
	{
		return lnm;
	}
	public int getM1()
	{
		return m1;
	}
	public int getM2()
	{
		return m2;
	}
	public int getM3()
	{
		return m3;
	}
}

web.xml file

<?xml version="1.0" encoding="ISO-8859-1"?>

<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_3_0.xsd"
  version="3.0"
  metadata-complete="true">

    <description>
      Servlet and JSP Examples.
    </description>
    <display-name>Servlet and JSP Examples</display-name>

	<servlet>
		<servlet-name>result</servlet-name>
		<servlet-class>controller.StudentResult</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>result</servlet-name>
		<url-pattern>/StudentResult.do</url-pattern>
	</servlet-mapping>
</web-app>

JSP (View)

<jsp:useBean 
id="result"
type="model.ResultBean"
scope="request"/>

<jsp:getProperty name="result" property="firstName"/>
<jsp:getProperty name="result" property="lastName"/>
<jsp:getProperty name="result" property="m1"/>
<jsp:getProperty name="result" property="m2"/>
<jsp:getProperty name="result" property="m3"/>
<%	
	out.print (request.getAttribute("total") + " ");
	out.print (request.getAttribute("per") + "<br>");
%>

MVC Example – 1

Browser – HTML page (for input)

<!-- webapss/SemMVC4/SelectSemester.html" -->
<html>
	<body>
		<form action="SelectSemester.do">
			Select Semester:
			<select name="semester">
				<option value="sem1">Sem-1</option>
				<option value="sem2">Sem-2</option>
				<option value="sem3">Sem-3</option>
				<option value="sem4">Sem-4</option>
			</select>
			<input type="submit">
		</form>
	</body>
</html>

Servlet ( controller) file

/* webapss/SemMVC4/WEB-INF/classes/controller/SelectSemester.java */
package controller;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import model.*;

public class SelectSemester extends HttpServlet
{
	public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
	{
		String semester = req.getParameter("semester");
		SelectSubject ss = new SelectSubject();
		List result = ss.getSubjectList(semester);
		req.setAttribute("result",result);
		RequestDispatcher rd = req.getRequestDispatcher("/WEB-INF/result.jsp");
		rd.forward(req,res);
	}
}

Bean (Model)

/* webapss/SemMVC4/WEB-INF/classes/model/SemesterSubject.java */
package model;
import java.util.*;

public class SelectSubject
{
	private List subjects;
	
	public List getSubjectList(String sem)
	{
		subjects = new ArrayList();
		if (sem.equals("sem1"))
		{
			subjects.add("C");
			subjects.add("ERP");
		}
		else if(sem.equals("sem2"))
		{
			subjects.add("CONM");
			subjects.add("DBMS");
		}
		else if(sem.equals("sem3"))
		{
			subjects.add("SOOADM");
			subjects.add("JAVA");
		}
		else if(sem.equals("sem4"))
		{
			subjects.add("WTAD");
			subjects.add("OR");
		}
		return subjects;
	}
}

web.xml file

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         Version="2.4">

		<servlet>
			<servlet-name>sem</servlet-name>
			<servlet-class>controller.SelectSemester</servlet-class>
		</servlet>
		<servlet-mapping>
			<servlet-name>sem</servlet-name>
			<url-pattern>/SelectSemester.do</url-pattern>
		</servlet-mapping>

</web-app>

JSP (View)

<%@ page import="java.util.*"%>
<%
	List result = (List)request.getAttribute("result");
	out.print ("<ul>");
	for (int i=0;i<result.size();i++)
	{
		out.print ("<li>" + result.get(i) + "</li><Br>");
	}
	out.print ("</ul>");
%>

jsp:setProperty – “*” as property attribute value

package bpack;

public class StudBean
{
	private String fnm,lnm,email;
	private int rno;
	private double cgpa;
	private boolean result;
	
	public boolean getResult()
	{
		return result;
	}
	public void setResult(boolean result)
	{
		this.result = result;
	}
	public double getCGPA()
	{
		return cgpa;
	}
	public void setCGPA(double cgpa)
	{
		this.cgpa = cgpa;
	}
	public String getEmail()
	{
		return email;
	}
	public int getRollNo()
	{
		return rno;
	}
	public String getFirstName()
	{
		return fnm;
	}
	public String getLastName()
	{
		return lnm;
	}
	public void setEmail(String email)
	{
		this.email = email;
	}
	public void setRollNo(int rno)
	{
		this.rno = rno;
	}
	public void setFirstName(String fnm)
	{
		this.fnm = fnm;
	}
	public void setLastName(String lnm)
	{
		this.lnm = lnm;
	}
}
<html>
	<body>
		<form action="BeanDemo.jsp">
			Enter Roll No. : <input type="text" name="rno"/><br>
			Enter First Name : <input type="text" name="fnm"/><br>
			Enter Last name : <input type="text" name="lnm"/><br>
			Enter email : <input type="text" name="email"><br>
			Enter email : <input type="text" name="cpga"><br>
			Enter Result : <input type="text" name="result"><br>
			<input type="submit">
			<input type="reset">
		</form>
	</body>
</html>

BeanDemo.jsp

<jsp:useBean id="sbean" class="bpack.StudBean"/>

<jsp:setProperty name="sbean" property="*" />


<jsp:getProperty name="sbean" property="rollNo" />
<jsp:getProperty name="sbean" property="firstName" />
<jsp:getProperty name="sbean" property="lastName" />
<jsp:getProperty name="sbean" property="email" />
<jsp:getProperty name="sbean" property="CGPA" />
<jsp:getProperty name="sbean" property="result" />

jsp:setProperty param attribute

package bpack;

public class StudBean
{
	private String fnm,lnm,email;
	private int rno;
	private double cgpa;
	private boolean result;
	
	public boolean getResult()
	{
		return result;
	}
	public void setResult(boolean result)
	{
		this.result = result;
	}
	public double getCGPA()
	{
		return cgpa;
	}
	public void setCGPA(double cgpa)
	{
		this.cgpa = cgpa;
	}
	public String getEmail()
	{
		return email;
	}
	public int getRollNo()
	{
		return rno;
	}
	public String getFirstName()
	{
		return fnm;
	}
	public String getLastName()
	{
		return lnm;
	}
	public void setEmail(String email)
	{
		this.email = email;
	}
	public void setRollNo(int rno)
	{
		this.rno = rno;
	}
	public void setFirstName(String fnm)
	{
		this.fnm = fnm;
	}
	public void setLastName(String lnm)
	{
		this.lnm = lnm;
	}
}
<html>
	<body>
		<form action="BeanDemo.jsp">
			Enter Roll No. : <input type="text" name="rno"/><br>
			Enter First Name : <input type="text" name="fnm"/><br>
			Enter Last name : <input type="text" name="lnm"/><br>
			Enter email : <input type="text" name="email"><br>
			Enter email : <input type="text" name="cpga"><br>
			Enter Result : <input type="text" name="result"><br>
			<input type="submit">
			<input type="reset">
		</form>
	</body>
</html>

BeanDemo.jsp

<jsp:useBean id="sbean" class="bpack.StudBean"/>

<jsp:setProperty name="sbean" property="rno" param="rno" />
<jsp:setProperty name="sbean" property="fnm" param="fnm"/>
<jsp:setProperty name="sbean" property="lnm" param="lnm"/>
<jsp:setProperty name="sbean" property="email" param="email"/>
<jsp:setProperty name="sbean" property="cgpa"  param="cgpa"/>
<jsp:setProperty name="sbean" property="result" param="result"/>

<jsp:getProperty name="sbean" property="rollNo" />
<jsp:getProperty name="sbean" property="firstName" />
<jsp:getProperty name="sbean" property="lastName" />
<jsp:getProperty name="sbean" property="email" />
<jsp:getProperty name="sbean" property="CGPA" />
<jsp:getProperty name="sbean" property="result" />

jsp:setProperty – Receiving form parameters

package bpack;

public class StudBean
{
	private String fnm,lnm,email;
	private int rno;
	private double cgpa;
	private boolean result;
	
	public boolean getResult()
	{
		return result;
	}
	public void setResult(boolean result)
	{
		this.result = result;
	}
	public double getCGPA()
	{
		return cgpa;
	}
	public void setCGPA(double cgpa)
	{
		this.cgpa = cgpa;
	}
	public String getEmail()
	{
		return email;
	}
	public int getRollNo()
	{
		return rno;
	}
	public String getFirstName()
	{
		return fnm;
	}
	public String getLastName()
	{
		return lnm;
	}
	public void setEmail(String email)
	{
		this.email = email;
	}
	public void setRollNo(int rno)
	{
		this.rno = rno;
	}
	public void setFirstName(String fnm)
	{
		this.fnm = fnm;
	}
	public void setLastName(String lnm)
	{
		this.lnm = lnm;
	}
}
<html>
	<body>
		<form action="BeanDemo.jsp">
			Enter Roll No. : <input type="text" name="rno"/><br>
			Enter First Name : <input type="text" name="fnm"/><br>
			Enter Last name : <input type="text" name="lnm"/><br>
			Enter email : <input type="text" name="email"><br>
			Enter email : <input type="text" name="cpga"><br>
			Enter Result : <input type="text" name="result"><br>
			<input type="submit">
			<input type="reset">
		</form>
	</body>
</html>

BeanDemo.jsp

<jsp:useBean id="sbean" class="bpack.StudBean"/>

<jsp:setProperty name="sbean" property="rno" 
value='<%= Integer.parseInt(request.getParameter("rno")%>' />
<jsp:setProperty name="sbean" property="fnm" 
value='<%= request.getParameter("fnm")%>'/>
<jsp:setProperty name="sbean" property="lnm" 
value='<%= request.getParameter("lnm")%>'/>
<jsp:setProperty name="sbean" property="email" 
value='<%= request.getParameter("email")%>'/>
<jsp:setProperty name="sbean" property="cgpa"
 value='<%= Double.parseDouble(request.getParameter("cgpa")%>'/>
<jsp:setProperty name="sbean" property="result" 
value='<%= Boolean.parseBoolean(request.getParameter("result")%>'/>

<jsp:getProperty name="sbean" property="rollNo" />
<jsp:getProperty name="sbean" property="firstName" />
<jsp:getProperty name="sbean" property="lastName" />
<jsp:getProperty name="sbean" property="email" />
<jsp:getProperty name="sbean" property="CGPA" />
<jsp:getProperty name="sbean" property="result" />