hualinux springMVC 5.6:使用 Servlet API 作为入参

本文详细介绍了在SpringMVC框架中如何使用Servlet原生API,包括如何在控制器方法中直接接收HttpServletRequest、HttpServletResponse等对象,并通过实例展示了如何进行操作。同时,文章列举了SpringMVC支持的所有Servlet API类型。

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

目录

一、使用Servlet原生API

1.1 例1

1.2 例2

二、springMVC支持哪些原生API


MVC 的 Handler 方法可以接受 哪些 ServletAPI 类型的参数

HttpServletRequest
HttpServletResponse
HttpSession
java.security.Principal
Locale
InputStream
OutputStream
Reader
Writer

 

一、使用Servlet原生API

在我们平常使用springMVC中,虽然说springMVC已经帮我们做了很多工作了,但是我们实际中还是会要用到Servlet的原生API,那这个时候要如何得到Servlet的原生对象呢?这里与struts2不同,springMVC是在方法中声明对应的参数来使用这些对象,而struts2则是调用相应的方法来得到这些对象。当然,对于没有学过struts2的同学,可以忽略,下面给出代码示例:

1.1 例1

在src/main/java/com.hualinux.srpingmvc.handers/SpringMVCTest.java,添加如下代码:

/*
* 可以使用Serlet 原生API 作为目标方法的参数,具体支持以下类型
* HttpServletRequest
* HttpServletResponse
* HttpSession
* java.security.Principal
* Locale
* InputStream
* OutputStream
* Reader
* Writer
* */
@RequestMapping("/springmvc/testServletAPI")
public String testServletAPI(HttpServletRequest request, HttpServletResponse response){
    System.out.println("testServletAPI,"+request+","+response);
    return "ok";
}

打开web/index.jsp,在其页面的<body></body>标签中添加如下代码:

<p><a href="springmvc/testServletAPI">Test ServletAPI</a></p>

运行tomcat,idea会自动打开主页点,下面链接

访问成功之后,再看idea正下方日志控制台提示如下:

testServletAPI,org.apache.catalina.connector.RequestFacade@f40af06 org.apache.catalina.connector.ResponseFacade@39e22f10

1.2 例2

在src/main/java/com.hualinux.srpingmvc.handers/SpringMVCTest.java,添加如下代码:

@RequestMapping("/springmvc/testServletAPI2")
public void testServletAPI2(HttpServletRequest request,
                              HttpServletResponse response, Writer out) throws IOException {
    System.out.println("testServletAPI,"+request+","+response);
    out.write("hello springMVC");
}

打开web/index.jsp,在其页面的<body></body>标签中添加如下代码:

<p><a href="springmvc/testServletAPI2">Test ServletAPI 2</a></p>

运行tomcat,idea会自动打开主页点,下面链接

 

二、springMVC支持哪些原生API

支持九种个对象,对应关系分别是:

ServletRequest                               --        ServletRequestServletResponse         --    

ServletResponseHttpSession         --        HttpSession

Principal                                           --        request.getUserPrincipal()

Locale                                               --        RequestContextUtils.getLocale(request);

InputStream                                      --        request.getInputStream();

Reader                                              --        request.getReader();

OutputStream                                   --        response.getOutputStream();

Writer                                                --        response.getWriter();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值