@PathVariable、@RequestParam等常用SpringMVC注解
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/***
* 注解示例
* @author lan16 www.lan16.com
*
*/
@RequestMapping("/api")
@Controller
public class TestController {
@RequestMapping(value="/test/{moblie}/{name}")
public @ResponseBody String test(HttpServletRequest request,
HttpServletResponse response,
@PathVariable String moblie, @PathVariable String name,
/**
* required=false表示不传的话,会给参数赋值为null,required=true就是必须要有,
* 如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果
* 不传参数值会报错,因为不传值,会赋值为null给int,这个不可以
*/
@RequestParam(value = "id", required = false) Integer id){
return null;
}
}
2.说明:Controller控制器是通过服务接口定义的提供访问应用程序的一种行为,它解释用户的输入,将其转换成一个模型然后将试图呈献给用户。Spring MVC使用 @Controller定义控制器,它还允许自动检测定义在类路径下的组件并自动注册。
我们可以 @RequestMapping注解将类似 “/api”这样的URL映射到整个类或特定的处理方法上。一般来说,类级别的注解映射特定的请求路径到表单控制器上,而方法级别的注解只是映射为一个特定的HTTP方法请求。
在Spring MVC中,可以使用 @PathVariable注解方法参数并将其绑定到URI模板变量的值上,其中参数是不能为空的,可以有多个注解,例如代码中的参数moblie和参数name
@RequestParam将请求的参数绑定到方法中的参数上。其实,即使不配置参数,注解也会默认使用该参数。required=false表示不传的话,会给参数赋值为null,required=true就是必须要有,如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果不传参数值会报错,因为不传值,会赋值为null给int,这个是不可以的。
@ResponseBody它的作用是将返回类型直接输入到HTTP response body中。@ResponseBody在输出JSON格式的数据时,会经常用到。
- 上一篇
Java通过Jedis连接Redis的三种方式的操作工具类
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
- 下一篇
Tomcat 启动时 SecureRandom 非常慢解决办法
最近使用阿里云的 Ubuntu 16.04 ESC服务器运行 Tomcat时发现,Tomcat启动的特别慢,通过查看日志,发现时间主要花在实例化 SecureRandom对象上了。实例化该对象使用了253秒,导致整个应用启动了275秒之久。