SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇

简介: ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------     今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类: 1.返回值为Object数值(例如1),2.

 

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

 

 

今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类:

1.返回值为Object数值(例如1),2.返回值为Object的String类型(例如"我是不是中文呢"),3.返回值为Object的对象类型(例如自定义UserInfo类型对象),4.返回值为Object的集合类型(例如UserInfo的List集合)

需要一个核心:<mvc:annotation-driven></mvc:annotation-driven>配置文件中的注解驱动这个节点

和jar包,jackson的

 

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.8.1</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.1</version>
        </dependency>

 

 

 

so:开始案例,(在一案例中使用到的代码,就不在二,三,四案例里重复展示,以此类推,只会在里面简单提一下)

 

一,返回值为Object数值

  1.首先准备一个处理器,里面加入案例一的处理方法

 

package cn.dawn.day12return;

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

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Dawn on 2018/3/28.
 */
@Controller
public class ReturnObjectController {

    /*返回值object数值型*/
    @RequestMapping("/returnobjint")
    @ResponseBody
    public Object returnobjint(){
        return 1;
    }

}

 

  2.需要一个xml配置文件:(与以往不同的是,需要配置注解驱动)

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd">

    <!--包扫描器-->
    <context:component-scan base-package="cn.dawn.day12return"></context:component-scan>
    <!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>


    <!--注解驱动-->
    <mvc:annotation-driven></mvc:annotation-driven>

</beans>

 

  3.web.xml中将中央调度器调度到上面的那个xml,就不给源码了

  4.去通过网页url访问,就ok了

 

二,返回值为Object的String类型

  1.处理方法:

 

    /*返回值object的String型*/
    @RequestMapping(value = "/returnobjstr",produces = "text/html;charset=UTF-8")
    @ResponseBody
    public Object returnobjstr(){
        return "我是不是中文呢?";
    }

 

    此出指定了返回页面的编码,utf-8,如果不返回会乱码

  2.自己的配置xml,web.xml用上面的那个,因为处理方法,就在上面的一个处理器类中

  3.通过url访问

 

三,返回值为Object的对象类型

  1.定义一个 UserInfo实体类;

 

package cn.dawn.day12return;

/**
 * Created by Dawn on 2018/3/26.
 */
public class UserInfo {
    private String username;
    private String password;

    public UserInfo() {
    }

    public UserInfo(String username, String password) {
        this.username = username;
        this.password = password;
    }

    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;
    }
}

 

  2.定义处理器方法

 

    /*返回值object对象User型*/
    @RequestMapping(value = "/returnobjUser")
    @ResponseBody
    public Object returnobjUser(){
        UserInfo u1=new UserInfo("孟六","123");
        return u1;
    }

 

  3.自定配置xml文件,web.xml和上面一样

  4.通过网页url访问

 

四,返回值为Object的集合类型

  1.UserInfo用上面那个就好:

  2.定义处理方法:

 

    /*返回值object对象User的集合型*/
    @RequestMapping(value = "/returnobjUserList")
    @ResponseBody
    public Object returnobjUserList(){
        List<UserInfo> lists=new ArrayList<UserInfo>();
        UserInfo u1=new UserInfo("孟六","123");
        UserInfo u2=new UserInfo("孟七","123");

        lists.add(u1);
        lists.add(u2);
        return lists;
    }

 

  3.自定配置xml文件,web.xml和上面一样

  4.定义一个jsp页面,我在里面写了ajax,并对返回的那个List<UserInfo>对象做了解析

 

<%@ page language="java" pageEncoding="utf-8" isELIgnored="false" %>
<html>
<head>
    <title>Ajax</title>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.min.js"></script>
    <script type="text/javascript">

        $(function () {

            $("input").on("click",function () {
                $.ajax({
                    url:"${pageContext.request.contextPath}/returnobjUserList",
                    success:function (date) {
                        alert(typeof date);
                        $.each(date,function (i, item) {
                            alert(item.username);
                        })
                    }
                });
            });
        });

    </script>
</head>

<body>
<%--<img src="image/1.jpg">--%>
<input type="button" value="我在一个没有窗户的小黑屋,住着六个人,一个人通宵写代码,慰藉我的孤独内心"/>
</body>
</html>

 

  5.启动tomcat,访问jsp,点击使用

 

目录
相关文章
|
9天前
|
设计模式 前端开发 Java
步步深入SpringMvc DispatcherServlet源码掌握springmvc全流程原理
通过对 `DispatcherServlet`源码的深入剖析,我们了解了SpringMVC请求处理的全流程。`DispatcherServlet`作为前端控制器,负责请求的接收和分发,处理器映射和适配负责将请求分派到具体的处理器方法,视图解析器负责生成和渲染视图。理解这些核心组件及其交互原理,有助于开发者更好地使用和扩展SpringMVC框架。
24 4
|
27天前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
103 2
|
1月前
|
JavaScript 前端开发
`Object.create()` 方法的参数
【10月更文挑战第29天】`Object.create()` 方法的参数提供了多种创建对象和控制对象属性及继承关系的方式,开发人员可以根据具体的需求灵活运用,以实现更高效、更符合设计要求的对象创建和继承机制。
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
133 4
|
1月前
|
设计模式
在实际开发中,什么时候应该使用 `new` 关键字,什么时候应该使用 `Object.create()` 方法?
【10月更文挑战第29天】`new` 关键字适用于创建具有特定类型和初始化逻辑的对象实例,以及实现基于原型链的继承;而 `Object.create()` 方法则适用于基于现有对象创建相似对象、避免构造函数的副作用、创建具有特定原型链的对象等场景。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象,以实现更高效、更灵活的代码结构。
|
1月前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
38 1
|
1月前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
35 1
|
2月前
|
JSON 前端开发 Java
SSM:SpringMVC
本文介绍了SpringMVC的依赖配置、请求参数处理、注解开发、JSON处理、拦截器、文件上传下载以及相关注意事项。首先,需要在`pom.xml`中添加必要的依赖,包括Servlet、JSTL、Spring Web MVC等。接着,在`web.xml`中配置DispatcherServlet,并设置Spring MVC的相关配置,如组件扫描、默认Servlet处理器等。然后,通过`@RequestMapping`等注解处理请求参数,使用`@ResponseBody`返回JSON数据。此外,还介绍了如何创建和配置拦截器、文件上传下载的功能,并强调了JSP文件的放置位置,避免404错误。
|
2月前
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
123 1
|
1月前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
29 0