栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC(四)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC(四)

文章目录
    • Spring MVC下拉选项(Select)
    • Spring MVC列表多选框
    • Spring MVC隐藏字段域
    • Spring MVC错误处理
    • Spring MVC文件上传处理
    • Spring MVC控制器类名称处理映射
    • Spring MVC控制器类名称处理映射样例
    • Spring MVC简单URL处理程序映射

Spring MVC下拉选项(Select)
  1. 创建一个名称为 Dropdown 的动态WEB项目。
  2. 在 com.yiibai.springmvc 包下创建两个Java类User,UserController
  3. 在jsp子文件夹下创建两个视图文件:user.jsp,userlist.jsp

**User.java **

package com.yiibai.springmvc;
public class User {

   private String username;
   private String password;
   private String address;
   private boolean receivePaper;
   private String [] favoriteframeworks;   
   private String gender;
   private String favoriteNumber;
   private String country;

   public String getUsername() {
      return username;
   }
   public void setUsername(String username) {
      this.username = username;
   }

   public String getPassword() {
      return password;
   }
   public void setPassword(String password) {
      this.password = password;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String address) {
      this.address = address;
   }
   public boolean isReceivePaper() {
      return receivePaper;
   }
   public void setReceivePaper(boolean receivePaper) {
      this.receivePaper = receivePaper;
   }
   public String[] getFavoriteframeworks() {
      return favoriteframeworks;
   }
   public void setFavoriteframeworks(String[] favoriteframeworks) {
      this.favoriteframeworks = favoriteframeworks;
   }
   public String getGender() {
      return gender;
   }
   public void setGender(String gender) {
      this.gender = gender;
   }
   public String getFavoriteNumber() {
      return favoriteNumber;
   }
   public void setFavoriteNumber(String favoriteNumber) {
      this.favoriteNumber = favoriteNumber;
   }
   public String getCountry() {
      return country;
   }
   public void setCountry(String country) {
      this.country = country;
   }
}

UserController.java

package com.yiibai.springmvc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Controller;
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.ModelMap;

@Controller
public class UserController {

   @RequestMapping(value = "/user", method = RequestMethod.GET)
   public ModelAndView user() {
      User user = new User();      
      user.setFavoriteframeworks((new String []{"Spring MVC","Struts 2"}));
      user.setGender("M");
      ModelAndView modelAndView = new ModelAndView("user", "command", user);
      return modelAndView;
   }

   @RequestMapping(value = "/addUser", method = RequestMethod.POST)
   public String addUser(@ModelAttribute("SpringWeb")User user, 
      ModelMap model) {
      model.addAttribute("username", user.getUsername());
      model.addAttribute("password", user.getPassword());
      model.addAttribute("address", user.getAddress());
      model.addAttribute("receivePaper", user.isReceivePaper());
      model.addAttribute("favoriteframeworks", user.getFavoriteframeworks());
      model.addAttribute("gender", user.getGender());
      model.addAttribute("favoriteNumber", user.getFavoriteNumber());
      model.addAttribute("country", user.getCountry());     
      return "userlist";
   }

   @ModelAttribute("webframeworkList")
   public List getWebframeworkList()
   {
      List webframeworkList = new ArrayList();
      webframeworkList.add("Spring MVC");
      webframeworkList.add("Struts 1");
      webframeworkList.add("Struts 2");
      webframeworkList.add("Apache Wicket");
      return webframeworkList;
   }

   @ModelAttribute("numbersList")
   public List getNumbersList()
   {
      List numbersList = new ArrayList();
      numbersList.add("1");
      numbersList.add("2");
      numbersList.add("3");
      numbersList.add("4");
      return numbersList;
   }

   @ModelAttribute("countryList")
   public Map getCountryList()
   {
      Map countryList = new HashMap();
      countryList.put("US", "United States");
      countryList.put("CH", "China");
      countryList.put("SG", "Singapore");
      countryList.put("MY", "Malaysia");
      return countryList;
   }
}
  1. 第一个服务方法user()在ModelAndView对象中传递了一个名称为“command”的空User对象,因为如果在JSP文件中使用form:form标签,spring框架需要一个名称为“command”的对象。 所以当调用user()方法时,它返回user.jsp视图。
  2. 第二个服务方法addUser()将根据URL => Dropdown/addUser 上的POST方法请求时调用。根据提交的信息准备模型对象。 最后从服务方法返回“userlist”视图,这将呈现userlist.jsp视图

user.jsp

<%@ page contentType="text/html; charset=UTF-8"%>

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


Spring MVC表单处理(下拉选择)



    

用户信息

用户名:
密码:
地址:
是否订阅:
喜欢的框架/技术:
性别:
喜欢的数字:
所在国家:

userlist.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>


Spring MVC表单处理(下拉选择)



    

提交用户信息 -

用户名: ${username}
密码: ${password}
地址: ${address}
是否订阅: ${receivePaper}
喜欢的技术/框架: <% String[] favoriteframeworks = (String[]) request.getAttribute("favoriteframeworks"); for (String framework : favoriteframeworks) { out.println(framework); } %>
性别: ${(gender=="M"? "男" : "女")}
喜欢的数字: ${favoriteNumber}
国家: ${country}
Spring MVC列表多选框
  1. 创建一个名称为 Listbox 的动态WEB项目。
  2. 在 com.yiibai.springmvc 包下创建两个Java类User,UserController
  3. 在jsp子文件夹下创建两个视图文件:user.jsp,userlist.jsp

User.java

package com.yiibai.springmvc;
public class User {

       private String username;
       private String password;
       private String address;
       private boolean receivePaper;
       private String [] favoriteframeworks;   
       private String gender;
       private String favoriteNumber;
       private String country;
       private String [] skills;

       public String getUsername() {
          return username;
       }
       public void setUsername(String username) {
          this.username = username;
       }

       public String getPassword() {
          return password;
       }
       public void setPassword(String password) {
          this.password = password;
       }
       public String getAddress() {
          return address;
       }
       public void setAddress(String address) {
          this.address = address;
       }
       public boolean isReceivePaper() {
          return receivePaper;
       }
       public void setReceivePaper(boolean receivePaper) {
          this.receivePaper = receivePaper;
       }
       public String[] getFavoriteframeworks() {
          return favoriteframeworks;
       }
       public void setFavoriteframeworks(String[] favoriteframeworks) {
          this.favoriteframeworks = favoriteframeworks;
       }
       public String getGender() {
          return gender;
       }
       public void setGender(String gender) {
          this.gender = gender;
       }
       public String getFavoriteNumber() {
          return favoriteNumber;
       }
       public void setFavoriteNumber(String favoriteNumber) {
          this.favoriteNumber = favoriteNumber;
       }
       public String getCountry() {
          return country;
       }
       public void setCountry(String country) {
          this.country = country;
       }
       public String[] getSkills() {
          return skills;
       }
       public void setSkills(String[] skills) {
          this.skills = skills;
       }
    }

**UserController.java **

package com.yiibai.springmvc;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Controller;
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.ModelMap;

@Controller
public class UserController {

   @RequestMapping(value = "/user", method = RequestMethod.GET)
   public ModelAndView user() {
      User user = new User();      
      user.setFavoriteframeworks((new String []{"Spring MVC","Struts 2"}));
      user.setGender("M");
      ModelAndView modelAndView = new ModelAndView("user", "command", user);
      return modelAndView;
   }

   @RequestMapping(value = "/addUser", method = RequestMethod.POST)
   public String addUser(@ModelAttribute("SpringWeb")User user, 
      ModelMap model) {
      model.addAttribute("username", user.getUsername());
      model.addAttribute("password", user.getPassword());
      model.addAttribute("address", user.getAddress());
      model.addAttribute("receivePaper", user.isReceivePaper());
      model.addAttribute("favoriteframeworks", user.getFavoriteframeworks());
      model.addAttribute("gender", user.getGender());
      model.addAttribute("favoriteNumber", user.getFavoriteNumber());
      model.addAttribute("country", user.getCountry());
      model.addAttribute("skills", user.getSkills());
      return "userlist";
   }

   @ModelAttribute("webframeworkList")
   public List getWebframeworkList()
   {
      List webframeworkList = new ArrayList();
      webframeworkList.add("Spring MVC");
      webframeworkList.add("Struts 1");
      webframeworkList.add("Struts 2");
      webframeworkList.add("Apache Hadoop");
      return webframeworkList;
   }

   @ModelAttribute("numbersList")
   public List getNumbersList()
   {
      List numbersList = new ArrayList();
      numbersList.add("1");
      numbersList.add("2");
      numbersList.add("3");
      numbersList.add("4");
      return numbersList;
   }

   @ModelAttribute("countryList")
   public Map getCountryList()
   {
      Map countryList = new HashMap();
      countryList.put("US", "United States");
      countryList.put("CH", "China");
      countryList.put("SG", "Singapore");
      countryList.put("MY", "Malaysia");
      return countryList;
   }

   @ModelAttribute("skillsList")
   public Map getSkillsList()
   {
      Map skillList = new HashMap();
      skillList.put("Hibernate", "Hibernate");
      skillList.put("Spring", "Spring");
      skillList.put("Apache Hadoop", "Apache Hadoop");
      skillList.put("Struts", "Struts");
      return skillList;
   }
}
  1. 第一个服务方法user(),我们已经在ModelAndView对象中传递了一个名称为“command”的空User对象,因为如果在JSP文件中使用form:form标签,spring框架需要一个名称为“command”的对象。 所以当调用user()方法时,它返回user.jsp视图。
  2. 第二个服务方法addUser()将根据URL => Listbox/addUser 上的POST方法请求时调用。根据提交的信息准备模型对象。 最后从服务方法返回“userlist”视图,这将呈现userlist.jsp视图

user.jsp

<%@ page contentType="text/html; charset=UTF-8"%>

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


Spring MVC表单处理(列表框)



    

用户信息

用户名:
密码:
地址:
是否订阅:
喜欢的框架/技术:
性别:
喜欢的数字:
所在国家:
技术:

userlist.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>


Spring MVC表单处理(列表框)



    

提交用户信息 -

用户名: ${username}
密码: ${password}
地址: ${address}
是否订阅: ${receivePaper}
喜欢的技术/框架: <% String[] favoriteframeworks = (String[]) request.getAttribute("favoriteframeworks"); for (String framework : favoriteframeworks) { out.println(framework); } %>
性别: ${(gender=="M"? "男" : "女")}
喜欢的数字: ${favoriteNumber}
国家: ${country}
技术: <% String[] skills = (String[]) request.getAttribute("skills"); for (String skill : skills) { out.println(skill); } %>
Spring MVC隐藏字段域
  1. 创建一个名称为 Hiddenfield 的动态WEB项目
  2. 在 com.yiibai.springmvc 包下创建两个Java类Student,StudentController
  3. 在jsp子文件夹下创建两个视图文件:student.jsp,result.jsp

Student.java

package com.yiibai.springmvc;


public class Student {
    private Integer age;
    private String name;
    private Integer id;

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }
}

StudentController.java

package com.yiibai.springmvc;

import org.springframework.stereotype.Controller;
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.ModelMap;

@Controller
public class StudentController {

    @RequestMapping(value = "/student", method = RequestMethod.GET)
    public ModelAndView student() {
        return new ModelAndView("student", "command", new Student());
    }

    @RequestMapping(value = "/addStudent", method = RequestMethod.POST)
    public String addStudent(@ModelAttribute("SpringWeb") Student student, ModelMap model) {
        model.addAttribute("name", student.getName());
        model.addAttribute("age", student.getAge());
        model.addAttribute("id", student.getId());

        return "result";
    }
}
  1. 第一个服务方法student(),我们已经在ModelAndView对象中传递了一个名称为“command”的空Student对象,因为如果在JSP文件中使用form:form标签,spring框架需要一个名称为“command”的对象。 所以当调用student()方法时,它返回student.jsp视图。
  2. 第二个服务方法addStudent()将根据URL => Hiddenfield/addStudent 上的POST方法请求时调用。根据提交的信息准备模型对象。 最后从服务方法返回“result”视图,这将呈现result.jsp视图

student.jsp

<%@ page contentType="text/html; charset=UTF-8" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>


    Spring MVC处理(隐藏字段)



学生信息:

学生姓名:
年龄:

result.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>


Spring MVC处理(隐藏字段)



    

提交的学生信息:

学生姓名: ${name}
年龄: ${age}
编号: ${id}
Spring MVC错误处理
  1. 创建一个名称为 ErrorHandling 的动态WEB项目。
  2. 在 com.yiibai.springmvc 包下创建三个Java类Student,StudentController和StudentValidator
  3. 在jsp子文件夹下创建两个视图文件:addStudent.jsp,result.jsp
    Student.java
package com.yiibai.springmvc;

public class Student {
   private Integer age;
   private String name;
   private Integer id;

   public void setAge(Integer age) {
      this.age = age;
   }
   public Integer getAge() {
      return age;
   }

   public void setName(String name) {
      this.name = name;
   }
   public String getName() {
      return name;
   }

   public void setId(Integer id) {
      this.id = id;
   }
   public Integer getId() {
      return id;
   }
}

StudentValidator.java

package com.yiibai.springmvc;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

public class StudentValidator implements Validator {

   @Override
   public boolean supports(Class clazz) {
      return Student.class.isAssignableFrom(clazz);
   }

   @Override
   public void validate(Object target, Errors errors) {        
      ValidationUtils.rejectIfEmptyOrWhitespace(errors, 
         "name", "required.name","Field name is required.");
   }
}

StudentController.java

package com.yiibai.springmvc;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.Validator;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
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;

@Controller
public class StudentController {

   @Autowired
   @Qualifier("studentValidator")
   private Validator validator;

   @InitBinder
   private void initBinder(WebDataBinder binder) {
      binder.setValidator(validator);
   }

   @RequestMapping(value = "/addStudent", method = RequestMethod.GET)
   public ModelAndView student() {
      return new ModelAndView("addStudent", "command", new Student());
   }

   @ModelAttribute("student")
   public Student createStudentModel() {    
      return new Student();
   }

   @RequestMapping(value = "/addStudent", method = RequestMethod.POST)
   public String addStudent(@ModelAttribute("student") @Validated Student student, 
      BindingResult bindingResult, Model model) {

      if (bindingResult.hasErrors()) {
         return "addStudent";
      }
      model.addAttribute("name", student.getName());
      model.addAttribute("age", student.getAge());
      model.addAttribute("id", student.getId());

      return "result";
   }
}
  1. 第一个服务方法student(),我们已经在ModelAndView对象中传递了一个名称为“command”的空Student对象,因为如果在JSP文件中使用form:form标签,spring框架需要一个名称为“command”的对象。 所以当调用student()方法时,它返回student.jsp视图。
  2. 第二个服务方法addStudent()将根据URL => ErrorHandling/addStudent 上的POST方法请求时调用。根据提交的信息准备模型对象。 最后从服务方法返回“result”视图,这将呈现result.jsp视图。

addStudent.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>


Spring MVC表单错误处理




    

学生信息

姓名:
年龄:
编号:

result.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>


    Spring MVC表单错误处理



Submitted Student Information

姓名: ${name}
年龄: ${age}
编号: ${id}
Spring MVC文件上传处理
  1. 创建一个名称为 FileUpload 的动态WEB项目。
  2. 在 com.yiibai.springmvc 包下创建两个Java类FileModel, FileUploadController
  3. 在jsp子文件夹下创建两个视图文件:fileUpload.jsp 和 success.jsp
  4. 在WebContent文件夹下创建一个文件夹:temp

FileModel.java

package com.yiibai.springmvc;

import org.springframework.web.multipart.MultipartFile;

public class FileModel {
   private MultipartFile file;

   public MultipartFile getFile() {
      return file;
   }

   public void setFile(MultipartFile file) {
      this.file = file;
   }
}

FileUploadController.java

package com.yiibai.springmvc;

import java.io.File;
import java.io.IOException;

import javax.servlet.ServletContext;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.FileCopyUtils;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class FileUploadController {

   @Autowired
   ServletContext context; 

   @RequestMapping(value = "/fileUploadPage", method = RequestMethod.GET)
   public ModelAndView fileUploadPage() {
      FileModel file = new FileModel();
      ModelAndView modelAndView = new ModelAndView("fileUpload", "command", file);
      return modelAndView;
   }

   @RequestMapping(value="/fileUploadPage", method = RequestMethod.POST)
   public String fileUpload(@Validated FileModel file, BindingResult result, ModelMap model) throws IOException {
      if (result.hasErrors()) {
         System.out.println("validation errors");
         return "fileUploadPage";
      } else {            
         System.out.println("Fetching file");
         MultipartFile multipartFile = file.getFile();
         String uploadPath = context.getRealPath("") + File.separator + "temp" + File.separator;
         //Now do something with file...
         FileCopyUtils.copy(file.getFile().getBytes(), new File(uploadPath+file.getFile().getOriginalFilename()));
         String fileName = multipartFile.getOriginalFilename();
         model.addAttribute("fileName", fileName);
         return "success";
      }
   }
}

FileUpload-servlet.xml



    

    
        
        
    

    

  1. 第一个服务方法fileUploadPage(),我们已经在名为“command”的ModelAndView对象中传递了一个空的FileModel对象,因为如果JSP文件中使用标签,spring框架期望一个名称为“command”的对象。 因此,当调用fileUploadPage()方法时,它返回fileUpload.jsp视图。
  2. 第二个服务方法fileUpload()将根据 URL => FileUpload/fileUploadPage上的POST方法进行调用。将根据提交的信息准备要上传的文件。最后从服务方法返回“success”视图,这将呈现success.jsp视图。

fileUpload.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>


Spring MVC上传文件示例


    
      请选择一个文件上传 : 
      
        
    


success.jsp

<%@ page contentType="text/html; charset=UTF-8"%>


Spring MVC上传文件示例


    文件名称 :
     ${fileName}  - 上传成功!


Spring MVC控制器类名称处理映射
  1. ControllerClassNameHandlerMapping类是基于约定的处理程序映射类,它将URL请求映射到配置中提到的控制器的名称
  2. ControllerClassNameHandlerMapping类接受控制器名称并将其转换为带有前导/的小写形式
  3. 例如HelloController映射到URL:“/hello*”。

样例代码


   
      
      
   

   

   

      

  1. 对于/helloWorld.html或/hello{任何字母}.html,DispatcherServlet将请求转发到HelloController类。
  2. 对于/welcome.html,DispatcherServlet会将请求转发给WelcomeController类。
  3. 对于/welcome1.html,DispatcherServlet将不会找到任何控制器,服务器将抛出404状态错误
Spring MVC控制器类名称处理映射样例
  1. 创建一个名称为 ControllerClassNameHandlerMapping 的动态WEB项目
  2. 在 com.yiibai.springmvc 包下创建两个Java类HelloController和 WelcomeController
  3. 在jsp子文件夹下创建两个视图文件:hello.jsp 和 welcome.jsp

HelloController.java

package com.yiibai.springmvc;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class HelloController extends AbstractController{

   @Override
   protected ModelAndView handleRequestInternal(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("hello");
      model.addObject("message", "Hello World!");
      return model;
   }c
}

WelcomeController.java

package com.yiibai.springmvc;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class WelcomeController extends AbstractController{

   @Override
   protected ModelAndView handleRequestInternal(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("welcome");
      model.addObject("message", "Welcome!");
      return model;
   }
}

ControllerClassNameHandlerMapping-servlet.xml



    
        
        
    

    

    

    

hello.jsp

<%@ page contentType="text/html; charset=UTF-8" %>


Hello World


   

${message}

welcome.jsp

<%@ page contentType="text/html; charset=UTF-8" %>


Welcome


   

${message}

Spring MVC简单URL处理程序映射
  1. SimpleUrlHandlerMapping类分别显式地将URL映射到相应的控制器上


   
      
      
   

   
      
         
            welcomeController           
            helloController
         
      
   

   

     

  1. 对于/helloWorld.html请求,DispatcherServlet将请求转发到HelloController类
  2. 对于/welcome.html,DispatcherServlet会将请求转发给WelcomeController类
  3. 创建一个名称为 SimpleUrlHandlerMapping 的动态WEB项目。
  4. 在com.yiibai.springmvc 包下创建两个Java类HelloController和 WelcomeController。
  5. 在jsp子文件夹下创建两个视图文件:hello.jsp 和 welcome.jsp

HelloController.java

package com.yiibai.springmvc;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class HelloController extends AbstractController{

   @Override
   protected ModelAndView handleRequestInternal(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("hello");
      model.addObject("message", "Hello World!");
      return model;
   }
}

WelcomeController.java

package com.yiibai.springmvc;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class WelcomeController extends AbstractController{

   @Override
   protected ModelAndView handleRequestInternal(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("welcome");
      model.addObject("message", "Welcome!");
      return model;
   }
}

SimpleUrlHandlerMapping-servlet.xml



   
      
      
   

   
      
         
            welcomeController           
            helloController
         
      
   

   

      

hello.jsp

<%@ page contentType="text/html; charset=UTF-8" %>


Hello World


   

${message}

welcome.jsp

<%@ page contentType="text/html; charset=UTF-8" %>


Welcome


   

${message}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/362501.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号