1、Spring4 MVC Hello World – XML实例

本文介绍Spring MVC框架中的常用注解及其实现方式,包括使用HttpServletRequest和HttpServletResponse、控制器中的重定向、@RequestParam和@PathVariable注解的用法以及@RequestBody示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring4 MVC Hello World – XML实例
使用Spring MVC XML配置的简单 HelloWorld Web应用程序。
1、准备环境
本教程是基于以下工具写的:
MyEclipse 10
Spring 4.0.3.RELEASE
控制器和方法
1- HttpServletRequest & HttpServletResponse

可以使用 HttpServletRequest, HttpServletResponse 在控制器的方法中
package com.yiibai.springmvc;

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

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class OtherExampleController {

......

@RequestMapping("/somePath")
public String requestResponseExample(HttpServletRequest request,
HttpServletResponse reponses, Model model) {

// Todo something here

return "someView";
}

......
}
2- 控制器中的重定向

使用前缀 "redirect:" ,该方法返回字符串,可以重定向到另一页面
package com.yiibai.springmvc;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class RedirectExampleController {

@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public String authorInfo(Model model) {

// Do somethong here

return "redirect:/hello";
}
}
3- @RequestParam示例

使用@RequestParam 注解将请求参数绑定到你的控制器方法参数
package com.yiibai.springmvc;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class RequestParamExampleController {

@RequestMapping("/user")
public String userInfo(Model model,
@RequestParam(value = "name", defaultValue = "Guest") String name) {

model.addAttribute("name", name);

if("admin".equals(name)) {
model.addAttribute("email", "admin@yiibai.com");
} else{
model.addAttribute("email", "Not set");
}
return "userInfo";
}

}
4- @PathVariable示例

在Spring MVC中,可以使用@PathVariable注释将一个方法参数绑定到一个URI模板变量的值:
例如,这是一个模板的URI:
/web/fe/{sitePrefix}/{language}/document/{id}/{naturalText}
而下面的 URI 模板匹配上面:
/web/fe/default/en/document/8108/spring-mvc-for-beginners
/web/fe/default/vi/document/8108/spring-mvc-cho-nguoi-moi-bat-dau

5- @ResponseBody示例

如果您使用 @ResponseBody 注释到方法, spring 将尝试转换它的返回值,并自动写入到HTTP响应。在这种情况下,并不需要一个特定的视图。
package com.yiibai.springmvc;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ResponseBodyExample1Controller {

// Simple example, method returns String.
@RequestMapping(value = "/saveResult")
@ResponseBody
publicString authorInfo(Model model) {
return "saved";
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值