• SpringMCV跨域


    不在同服务器访问就会产生跨域(用其他软件编写HTML测试)

    后台Controller

    package edu.nf.ch02.controller;
    
    
    import org.springframework.web.bind.annotation.*;
    
    /**
     * @Author Eric
     * @Date 2018/12/3
     */
    @RestController
    @RequestMapping("/app")
    /**
     * origins = "*" 参数是个数组{"1","2"}
     * 标注在方法上时表示当前的请求处理方法支持跨域,但会合并属性配置
     * 注意,这种方式的配置只对当前类有效,对其他的Controller是不起作用的,
     * 如果需要所有的Controller都支持跨域访问,那么可以配置全局的跨域访问
     * (通过xml或者是java配置)
     */
    //@CrossOrigin(origins = "*",methods = {RequestMethod.GET,RequestMethod.POST})
    public class CorsController {
        @PostMapping("/login")
        public String login(String userName,String password){
            if("admin".equals(userName) && "123".equals(password)){
                return "success";
            }else {
                return "fail";
            }
        }
    }

    dispatcher.servlet.xml设置全局配置(记得配置web.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:context="http://www.springframework.org/schema/context"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
        <context:component-scan base-package="edu.nf.ch02"/>
        <mvc:annotation-driven/>
        <mvc:default-servlet-handler/>
        <!--全局的跨域配置-->
        <mvc:cors>
            <!-- /** 表示所有请求都将支持跨域方法 -->
            <mvc:mapping path="/**" allowed-origins="*" allowed-methods="GET,POST,PUT,DELETE"/>
        </mvc:cors>
    </beans>

    html

    <!DOCTYPE html>
    <html>
        <meta charset="utf-8">
        <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm.min.css">
        <script type='text/javascript' src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script>
        <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script>
        <script type="text/javascript" src="jquery-3.3.1.min.js"></script>
        <head>
            <a class="button button-link button-nav pull-left" href="/demos/card" data-transition='slide-out'>
                  <span class="icon icon-left"></span>
                  返回
            </a>
            <h1 class="title">我的App</h1>
        </head>
        <body>
            <nav class="bar bar-tab">
                <a class="tab-item active" href="#">
                  <span class="icon icon-home"></span>
                  <span class="tab-label">首页</span>
                </a>
                <a class="tab-item" href="#">
                  <span class="icon icon-me"></span>
                  <span class="tab-label"></span>
                </a>
                <a class="tab-item" href="#">
                  <span class="icon icon-star"></span>
                  <span class="tab-label">收藏</span>
                </a>
                <a class="tab-item" href="#">
                  <span class="icon icon-settings"></span>
                  <span class="tab-label">设置</span>
                </a>
              </nav>
            <div class="content">
                  <div class="list-block">
                      <form id="f1">
                        <ul>
                          <!-- Text inputs -->
                          <li>
                            <div class="item-content">
                              <div class="item-inner">
                                <div class="item-title label">Name</div>
                                <div class="item-input">
                                  <input type="text" name="userName" placeholder="Your name">
                                </div>
                              </div>
                            </div>
                          </li>
                          <li>
                            <div class="item-content">
                              <div class="item-inner">
                                <div class="item-title label">Password</div>
                                <div class="item-input">
                                  <input type="password" name="password" placeholder="password">
                                </div>
                              </div>
                            </div>
                          </li>
                        </ul>
                    </form>
                  </div>
                  <div class="content-block">
                    <div class="row">
                      <div class="col-50"><a href="#" class="button button-big button-fill button-danger">取消</a></div>
                      <div class="col-50"><a href="#" id="login" class="button button-big button-fill button-success">登陆</a></div>
                    </div>
                  </div>
            </div>
        </body>
        <script>
            $(function(){
                $("#login").on("click",function(){
                        $.ajax({
                        type:"post",
                        url:"http://localhost:8080/app/login",
                        data:$("#f1").serialize(),
                        success:function(result){
                            alert(result);
                        }
                    });
                });
            });
        </script>
    </html>
  • 相关阅读:
    Python 调用multiprocessing模块下面的Process类方法(实现服务器、客户端并发)-TCP协议
    Python开启进程的2中方式
    基于UDP的交互的实例
    Python socket粘包问题(最终解决办法)
    Python socket粘包问题(初级解决办法)
    Python socket套字节
    OSI七层模型
    异常处理
    Python封装与隐藏
    螺旋队列问题
  • 原文地址:https://www.cnblogs.com/ssjf/p/10102778.html
Copyright © 2020-2023  润新知