SpringMVC基础操作:第一个SpringMVC程序

2025-11-06 16:07:33

1、在SpringMVC之中把每一个控制层的代码成为一个Action,这个Action不需要去继承任何一个类,利用注解就可以表示我们所需要的控制器定义。

定义一个com.gwolf.action.EmpAction程序类:

package com.gwolf.action;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

@RequestMapping("/pages/emp/*")

public class EmpAction {

        Logger logger = LoggerFactory.getLogger(this.getClass());

        

       

      @RequestMapping("echo")

      @ResponseBody

      public String echo(String msg) {

         return "ECHO " + msg;

      }

}

SpringMVC基础操作:第一个SpringMVC程序

2、通过这个时候的Action的定义可以充分的发现以下特点:

1、SpringMVC里面对于参数的接收直接在方法上定义即可;

2、里面所有使用的方法可以由永不自己来定义是否需要返回数据;

3、整体的路径配置以及多业务的配置都分厂的简化;

测试:http://localhost:8080/SpringMVC/pages/emp/echo.action?msg=hello

SpringMVC基础操作:第一个SpringMVC程序

3、在SpringMVC中,控制层的处理逻辑如下图:召侧

4、为了更加符合于MVC的设计,我们认为这个时候应该把处理后的数据发送回jsp页面来显示,而有一个控制层跳转到jsp页面需要进行参数传递,往往使此蚊用request属性范围,而这个request属性范围可以直接通过ModelAndView来控制,加入说现在希望其跳转到"/pages/show.jsp"页面;

package com.gwolf.action;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

@Controller

@RequestMapping("/pages/emp/*")

public class EmpAction {

        Logger logger = LoggerFactory.getLogger(this.getClass());

        

        @RequestMapping("echo")

        public ModelAndView echo(String msg) {

                ModelAndView md = new ModelAndView("/pages/show.jsp");

                md.addObject("info","Echo:" + msg);

                        

                return md;

        }

}

SpringMVC基础操作:第一个SpringMVC程序

5、ModelAndView就相当于替代了之前的request.getRequestDispatcher()里面的一些方法。

SpringMVC基础操作:第一个SpringMVC程序

6、定义show.jsp页面,显示request属性范围中的内容。

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

    pageEncoding="UTF-8"%>

<!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>争国珠Insert title here</title>

</head>

<body>

        <h1>${info }</h1>

</body>

</html>

SpringMVC基础操作:第一个SpringMVC程序

7、在浏览器中访问地址就可以看到页面的访问结果

SpringMVC基础操作:第一个SpringMVC程序

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢