zoukankan      html  css  js  c++  java
  • Spring 签名加密+xml数据交互

      Test.java

    package com.controller;
    
    import java.io.UnsupportedEncodingException;
    import java.util.Arrays;
    import java.util.List;
    
    import javax.swing.text.html.FormSubmitEvent.MethodType;
    
    import org.apache.commons.codec.digest.DigestUtils;
    import org.apache.commons.codec.digest.HmacAlgorithms;
    import org.apache.commons.codec.digest.HmacUtils;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.http.HttpEntity;
    import org.springframework.http.HttpHeaders;
    import org.springframework.http.MediaType;
    import org.springframework.http.client.ClientHttpRequestFactory;
    import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
    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.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.client.RestTemplate;
    
    import com.pojo.Apple;
    import com.pojo.UserInfo;
    
    @Controller
    public class Test {
        @Autowired
        RestTemplate rt;
        
        public void setRt(RestTemplate rt) {
            this.rt = rt;
        }
        @RequestMapping(value="/send",method=RequestMethod.GET)
        public @ResponseBody UserInfo send(){
            UserInfo user = new UserInfo();
            user.setUsername("张三");
            user.setPwd("123456");
            
            //发送xml类型的数据参数
            HttpHeaders headers = new HttpHeaders();
            //指定当前urlAPi发送的数据类型
            headers.setContentType(MediaType.APPLICATION_JSON);//MediaType.APPLICATION_XML支持xml
            //指定期待的相应数据类型
            headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
            HttpEntity<UserInfo> entity = new HttpEntity<UserInfo>(user, headers);
    
            Apple apple = rt.postForObject("http://localhost:8888/SSM/get", user, Apple.class);
            System.out.println(apple.getAppleName());
    
            return user;
        }
    
        @RequestMapping("/get")
        public @ResponseBody Apple get(@RequestBody UserInfo user){
            System.out.println("name="+user.getUsername());
            Apple a = new Apple();
            a.setAppleName("苹果8");
            return a;
        }
        
        //密码加密测试
        public static void main(String[] args) throws UnsupportedEncodingException {
            //1.md5的加密方式  带key  和不带key
    //        String pwd = "admin";
    //        //不带key
    //        String md5_32 = DigestUtils.md5Hex(pwd);
    //        //带key
    //        String md5_key = new HmacUtils(HmacAlgorithms.HMAC_MD5, "123").hmacHex(pwd);
    //        System.out.println(md5_key);
            
            //2.spring-security 加密密码  优势:同一明文每次加密后的密文是不一样的
            BCryptPasswordEncoder bc = new BCryptPasswordEncoder();
            String pwd = bc.encode("admin");
            System.out.println(pwd);
            System.out.println(bc.matches("admin", "$2a$10$AvOUjKuluUaacjpTMKUDbeRs/7psaFqR24ATQtu0gmmQU3AnPSolK"));
        }
        
    }

    其他:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE html>
    <html>
    <head>
    <base href="<%=basePath%>"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <script type="text/javascript" src="js/jquery-3.2.1.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("a").click(function(){
                $.ajax("user/testjson",{
                    method:'get',
                    dataType:'xml',
                    success:function(data){
                        console.log(data);
                    }
                });
            });
        });
    </script>
    <body>
        <a>测试</a>
    </body>
    </html>
    package com.controller;
    
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.pojo.UserInfo;
    import com.service.IUserService;
    
    @Controller
    public class UserController {
        @Autowired
        IUserService userSer;
        
        public void setUserSer(IUserService userSer) {
            this.userSer = userSer;
        }
    
        @RequestMapping("/user/getall")//该方法的访问路径
        public ModelAndView getall(){
            System.out.println("oks");
            List<UserInfo> list = userSer.getAllUser();
            ModelAndView mv = new ModelAndView();
            mv.setViewName("redirect:/jsp/test.jsp");
            mv.addObject("list",list);
            return mv;
        }
        
        @RequestMapping("user/test")
        public String test(UserInfo user){
            System.out.println("okooooo");
            System.out.println(user.getUsername());
            return "jsp/test";
        }
        @RequestMapping(value="user/testjson",method=RequestMethod.GET)
        public @ResponseBody UserInfo testJson(){
            UserInfo user = new UserInfo();
            user.setUserid(1);
            user.setUsername("张三");
            user.setPwd("admin");
            return user;
        }
    }
  • 相关阅读:
    PAT 1037. 在霍格沃茨找零钱(20)
    PAT 1036. 跟奥巴马一起编程(15)
    Topcoder SRM633 DIV2 解题报告
    HDU 4565 So Easy! 矩阵快速幂 + 共轭数
    HDU 2256 Problem of Precision 矩阵快速幂 + 共轭数
    FZU 1683 纪念SlingShot 矩阵快速幂
    CodeForces 185A Plant 矩阵快速幂
    HDU 2604 Queuing 矩阵快速幂
    HDU 1575 Tr A 矩阵快速幂
    HDU 1757 A Simple Math Problem 矩阵快速幂
  • 原文地址:https://www.cnblogs.com/wlxslsb/p/10895516.html
Copyright © 2011-2022 走看看