zoukankan      html  css  js  c++  java
  • SpingMVC方法返回值

    处理器的方法我们之前做过,返回值为String的,返回值为ModelAndView的,我们这个讲的这个返回值void的做什么的?

    答:最主要的是ajax的时候用的

    案例如下:

      俩个类:实体类UserInfo和处理器类:

        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;
        }
    }
    复制代码

        自定义的处理器类:

    复制代码
    package cn.dawn.day12return;
    
    import com.alibaba.fastjson.JSON;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by Dawn on 2018/3/26.
     */
    @Controller
    public class MyReturnDemoController {
        @RequestMapping("/doreturnVoidAjax")
        public void doreturnVoidAjax(HttpServletResponse response) throws IOException {
            List<UserInfo> lists=new ArrayList<UserInfo>();
            UserInfo u1=new UserInfo("M","123");
            UserInfo u2=new UserInfo("6","123");
    
            lists.add(u1);
            lists.add(u2);
    
            String json = JSON.toJSONString(lists);
            response.getWriter().write(json);
        }
    }
    复制代码

        此处用到了阿里的fastjson的jar包,自已引一个即可,不说这个jar了

      自己的xml配置文件:

    复制代码
    package cn.dawn.day12return;
    
    import com.alibaba.fastjson.JSON;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by Dawn on 2018/3/26.
     */
    @Controller
    public class MyReturnDemoController {
        @RequestMapping("/doreturnVoidAjax")
        public void doreturnVoidAjax(HttpServletResponse response) throws IOException {
            List<UserInfo> lists=new ArrayList<UserInfo>();
            UserInfo u1=new UserInfo("M","123");
            UserInfo u2=new UserInfo("6","123");
    
            lists.add(u1);
            lists.add(u2);
    
            String json = JSON.toJSONString(lists);
            response.getWriter().write(json);
        }
    }
    复制代码

      在web.xml中把中央调度器调度到自己当前写的这个xml配置文件,再解决乱码,再解决静态资源js不能引用的问题

    复制代码
    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
    
      <!--过滤器处理乱码-->
      <filter>
        <filter-name>CharacterEncoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <!--请求-->
        <init-param>
          <param-name>encoding</param-name>
          <param-value>utf-8</param-value>
        </init-param>
        <!--响应-->
        <init-param>
          <param-name>forceEncoding</param-name>
          <param-value>true</param-value>
        </init-param>
      </filter>
    
      <filter-mapping>
        <filter-name>CharacterEncoding</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    
    
    
    
    
      <!--中央调度器-->
      <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:ApplicationContext-day12return.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    
    
      <!--第一种方式--><!--解决静态资源不能引用-->
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.png</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.gif</url-pattern>
      </servlet-mapping>
    
    </web-app>
    复制代码

      jsp页面

    复制代码
    <%@ 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}/doreturnVoidAjax",
                       type:"POST",
                       data:{},
                       success:function (data) { //data:String json串   data:Object json对象
    
                           //用户名
                           $.each(eval("("+data+")"),function (i,dom) {
                               alert(dom.username);
                           });
                       }
                   });
               });
            });
    
        </script>
    </head>
    
    <body>
    <%--<img src="image/1.jpg">--%>
    <input type="button" value="想发送Ajax?,点我不要赔的喔!!!呵呵哒~~~~~~"/>
    </body>
    </html>
    复制代码
  • 相关阅读:
    DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting
    DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
    DVWA 黑客攻防演练(八)SQL 注入 SQL Injection
    DVWA 黑客攻防演练(七)Weak Session IDs
    DVWA 黑客攻防演练(六)不安全的验证码 Insecure CAPTCHA
    DVWA 黑客攻防演练(五)文件上传漏洞 File Upload
    工作流表结构设计
    Visual Studio 2019尝鲜----新建空项目体验
    《使用CSLA 2019:CSLA .NET概述》原版和机译文档下载
    .NET快速开发平台的在线预览
  • 原文地址:https://www.cnblogs.com/1234AAA/p/8661647.html
Copyright © 2011-2022 走看看