1.实现用户模块的跳转
需要阐明
当用户点击登录注册按钮时 须要跳转到指定的页面中

url地址1:http://www/jt.com/user/regist...
2:http://www.jt.com/user/login....

实现代码如下
1.编辑UserController
@Controller //须要进行页面跳转
@RequestMapping("/user")
public class UserController {

/** * 实现用户模块页面跳转 * url1: http://www.jt.com/user/login.html     页面:login.jsp * url2: http://www.jt.com/user/register.html  页面:register.jsp * 要求:实现通用页面跳转 * restFul形式: 1.动静获取url中的参数,之后实现通用的跳转. */@RequestMapping("/{moduleName}")public String module(@PathVariable String moduleName){    return moduleName;}

}
页面展现成果

创立单点登录我的项目
jt-sso我的项目创立
1.增加继承 依赖 插件
<!--默认的打包形式就是jar 不写也没有关系-->

<packaging>jar</packaging><parent>    <artifactId>jt</artifactId>    <groupId>com.jt</groupId>    <version>1.0-SNAPSHOT</version></parent><!--2.增加依赖信息--><dependencies>    <!--依赖本质依赖的是jar包文件-->    <dependency>        <groupId>com.jt</groupId>        <artifactId>jt-common</artifactId>        <version>1.0-SNAPSHOT</version>    </dependency></dependencies><!--3.增加插件--><build>    <plugins>        <plugin>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-maven-plugin</artifactId>        </plugin>    </plugins></build>

</project>
2.编辑User的POJO对象
@TableName("tb_user")
@Data
@Accessors(chain = true)
public class User extends BasePojo{

@TableId(type = IdType.AUTO)//设定主键自增private Long id;            //用户ID号private String username;    //用户名private String password;    //明码 须要md5加密private String phone;       //电话号码private String email;       //临时应用电话代替邮箱

}
3.测试JT-SSO我的项目
用户通过sso.jt.com/findUserAll获取user表中的信息json返回
编辑UserController
@RestController
public class UserController {

@Autowiredprivate UserService userService;/** * 实现测试按钮 * 1.url地址 :findUserAll * 2.参数信息: null * 3.返回值后果: List<User> * */@RequestMapping("/findUserAll")public List<User> findUserAll(){    return userService.findUserAll();}

}
4.编辑UserService
@Service
public class UserServiceImpl implements UserService{

@Autowiredprivate UserMapper userMapper;@Overridepublic List<User> findUserAll() {    return userMapper.selectList(null);}

}
5.批改nginx配置

**跨域实现
跨域拜访测试
1.同域测试
剖析:
1.浏览器地址 http://manage.jt.com/test.html
2.ajax申请地址
http://manage.jt.com/test.json
论断
当浏览器地址与ajax申请的地址(协定://域名:端口)雷同时能够实现失常的业务调用

JSON跨域申请测试
1.跨域测试
剖析
1.浏览器地址 http://www.jt.com/test.html
2.ajax申请地址 http://manage.jt.com/test.json
论断 如果申请地址(协定://域名:端口)不雷同则导致申请调用失败
2.浏览器-同源策略阐明
阐明 浏览器规定 发动ajax申请时如果申请协定/域名/端口号 如果3者有一个与以后的浏览器的地址不雷同时 则违反了同源策略的规定 则浏览器不予解析返回值
跨域问题 违反同源策略的规定就是跨域申请

跨域1--JSONP

1.JSONP的跨域原理
1.利用JavaScript中的src属性实现跨域申请
2.自定义回调函数function callback(xxx);
3.将返回值后果进行非凡的格局封装 callback(json);
4.因为利用src属性进行调用 所以只能反对get申请类型

封装返回值
hello({"id":"1","name":"tom"})

页面js的编辑
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>测试JSON跨域问题</title>

<script type="text/javascript">    /*JS是解释执行的语言  */    /*定义回调函数  */    function hello(data){        alert(data.name);    }</script><!--该json始终保留到浏览器中期待调用,然而没有函数名称无奈调用  --><script type="text/javascript" src="http://manage.jt.com/test.json"></script><script type="text/javascript" src="http://manage.jt.com/js/jquery-easyui-1.4.1/jquery.min.js"></script>

</head>
<body>

<h1>JS跨域问题</h1>

</body>
</html>

JSONP

JSONP(JSON with Padding)是JSON的一种"应用模式",可用于解决支流浏览器的跨域数据拜访的问题,因为同源策略 一般来说位于 server1.example.com的网页无奈与不是server1.example.com的服务器沟通

JSONP的优化

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSONP测试</title>
<script type="text/javascript" src="http://manage.jt.com/js/jquery-easyui-1.4.1/jquery.min.js"></script>
<script type="text/javascript">

$(function(){    alert("测试拜访开始!!!!!")    $.ajax({        url:"http://manage.jt.com/web/testJSONP",        type:"get",                //jsonp只能反对get申请        dataType:"jsonp",       //dataType示意返回值类型        jsonp: "callback",    //指定参数名称        jsonpCallback: "hello",  //指定回调函数名称        success:function (data){   //data通过jQuery封装返回就是json串            console.log(data);        }    });    })

</script>
</head>
<body>

<h1>JSON跨域申请测试</h1>

</body>
</html>

编辑后端Controller

@RestController
public class JSONPController {

/** * 实现JSONP跨域申请 * url地址: http://manage.jt.com/web/testJSONP?callback=xxxxxx * 参数:    临时没有能够不接 * 返回值:  callback(JSON); */ @RequestMapping("/web/testJSONP") public String testJSONP(String callback){     ItemDesc itemDesc = new ItemDesc();     itemDesc.setItemId(1000L).setItemDesc("JSONP测试!!!");     String json = ObjectMapperUtil.toJSON(itemDesc);     return callback+"("+json+")"; }

}
控制台输入

JSONPObject阐明

@RequestMapping("/web/testJSONP")

public JSONPObject testJSONP(String callback){    ItemDesc itemDesc = new ItemDesc();    itemDesc.setItemId(1000L).setItemDesc("JSONP测试!!!");    return new JSONPObject(callback, itemDesc);}

cors的跨域形式