Tomcat MVC example - FindCat

This program is developed in Tomcat7 Eclipse EE

program purpose:  Find the cat by its name

index.html - has a input box that requires the name of the cat

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="findcat.do" method="post">
Cat name: <input type="text" name="name" /><br />
<input type="submit" >
</form>
</body>
</html>

web.xml - the Deployment Descriptor for this program, maps findcat.do to com.example.web.FindCat

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
 id="WebApp_ID" version="3.0">
  <display-name>UseBean</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  
      <servlet> 
        <servlet-name>CatFinder</servlet-name> 
        <servlet-class>com.example.web.FindCat</servlet-class>  
    </servlet>  
      
    <servlet-mapping>  
        <servlet-name>CatFinder</servlet-name>  
        <url-pattern>/findcat.do</url-pattern>  
    </servlet-mapping> 
</web-app>


FindCat.java - The Controler, it is a class that extends HttpServletoverrides the doPost method. if the cat's name is John, return John and its age 2 if the name is Kitty, return Kitty and its age 3. 

The Cat is send to result.jsp

package com.example.web;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.example.model.Cat;

public class FindCat extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		String catName = req.getParameter( "name");
		Cat foundCat = new Cat();
		if( catName.equals("John" ) ) {
			foundCat.setName("John" );
			foundCat.setAge( 2 );
		}else if( catName.equals("Kitty") ) {
			foundCat.setName("Kitty" );
			foundCat.setAge( 3 );
		}
		
		RequestDispatcher rd = getServletContext().getRequestDispatcher("/result.jsp");
		System.out.println( "foundCat name: " + foundCat.getName() );
		System.out.println( "foundcat age: " + foundCat.getAge() );
		req.setAttribute("foundCat", foundCat);
		rd.forward( req, resp);
		
	}
}


Cat.java - the Model

package com.example.model;

import java.io.Serializable;

public class Cat implements Serializable {
	String name;
	int age;
	public Cat(){
		
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}


result.jsp - The View

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="foundCat" class="com.example.model.Cat" scope="request" />
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cats found</title>
</head>
<body>
<% 
if( foundCat.getName() == null ){
%> 
	<h1>sorry, can not find this cat</h1>
	 <% 
}else{
		%>
		
		Name: <jsp:getProperty name="foundCat" property="name" />
		Age: <jsp:getProperty name="foundCat" property="age" />
		<%
	}

%>

</body>
</html>

Structure of program


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章