SSM框架总结

在我们学习SSM框架时,总会遇到一些知道怎么做却不知道为什么这么做的知识点,今天我就来总结一下~~~~~

1:如何进行转发,重定向,以及这两者该如何选择?

(1)转发:forward 一般发生于查询过后,将查询结果进行转发

return "forward:/jump/test1";//跳转至jump/test1.jsp去

(2) 重定向:redirect 一般发生于增删改之后,为防止重复提交

return "redirect:/index.jsp";//重定向至index.jsp中

2.Model中的数据,EL表达式如何获取

Model是SpringMVC中封装的一个对象,其本质和request基本一致,所存作用域也相同,所以在EL表达式中可以直接在requestScope中取值

${requestScope.xxx}

3.SpringMVC为什么会有静态资源问题

在SpringMVC中,我们采用了核心对象DisptcherServlet(前端控制器)而它的url-pattern为“ / ”,和Tomcat内置的处理静态资源的DefaultServlet的url-pattern的一样,二者互相冲突,根据最近原则,tomcat的默认配置被抵消,所以静态资源我们就没办法在访问到了

解决方案1:

DispathcerServlet采用其他的url-pattern
此时,所有访问handler的路径都要以 action结尾!!

<servlet>
    <servlet-name>mvc9</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>mvc9</servlet-name>
    <url-pattern>*.action</url-pattern>
</servlet-mapping>

当然,这里我们也不选择action,像do啊,ac啊,这里可以随便取,但我们要给每一个handler加上该后缀(也太麻烦了,反正我是不用)

4.如何将我们返回的对象响应成JSON

放我们想要将我们返回的对象转换为JSON时,我们可以给每一个handler都加上一个@RespnseBody注解,这样在编译的时候就可以自动帮我们转化成JSON了,当然,我们也可以直接在类前面加上一个@RestController这样,每个handler返回的对象就可以都转换为JSON了,String除外

5.如何接受json参数

至于如何接受JSON参数,首先我们要在前端设置传送来的数据是一个JSON(设置ContentType为Application/json),其次,我们需要前端传过来的请求的类型是"post"这样,我们就可以使用@RequestBody注解,将前端传过来的JSON串直接解析为我们的java对象,大大方便我们的编程

6.SpringMVC工厂和Spring工厂关系

Spring工厂和SpringMVC都是一个Bean工厂,而Spring工厂属于父工厂
而SpringMVC工厂属于子工厂,被Spring工厂包含在内

7.Rest两个核心原则

1 每个资源都有唯一的标识
2 每个请求都有明确的对应的动词

@GetMapping
@PostMapping
@PutMapping
@DeleteMapping

8.Get、Post、Put、Delete分别对应那种操作

get 对应 查找
post 对应 增加
put 对应 修改
delete 对应 删除

9.域的标识是什么?

1: 使用的协议
2:IP地址
3:端口号

10:ajax跨域请求有什么风险?

为什么AJAX访问不能跨域呢?要讲清楚这个问题,首先要谈谈Cookie

1.客户向A网站的服务器发送登录请求,并携带账号密码数据

2.A网站的服务器校验账号密码正确后,返回响应并给本地添加了Cookie

3.之后客户再次向A网站发起请求会自动带上A网站存储在本地的cookie

4.A网站的服务器从cookie中获取账号密码数据后,返回登陆成功界面。
o_Cookie_Session001.png

解决方案响应头中添加:Access-Control-Allow-Origin: http://localhost:8080 即可
被访问方,添加此响应头;响应头中设置访问方的域
或在被访问方的Controller类或方法上,添加注解:

@CrossOrigin("http://localhost:8080")
public class SysUserController {
    ....
}

3. 跨域携带cookie

A 不仅要能访问 B,还能在请求中携带B的cookie,进而保证B中运行时有cookie可用

被访问方:B

指定好允许的域
@CrossOrigin(value = "http://localhost:8080")
public class SysUserController {
    ....
}

访问方:A

withCredentials: true
$.ajaxSetup({
 xhrFields: {
   withCredentials: true
 }
});
$.getJSON("http://localhost:8989/web/sys/user/info...);
$.get(...)
$.post(...)
$.ajax(...)

或者

$.ajax({
 type: "POST",
 url: "http://localhost:8989/web/sys/login",
 ...,
 xhrFields: {
   withCredentials: true
 }
});

或者

var xhr = new XMLHttpRequest();
// 跨域携带cookie
xhr.withCredentials=true;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容

  • 前言:使用SSM(spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点...
    乐格阅读 32,510评论 0 4
  • 用 ssm 为框架做了一个系统的后台,今天做一下关于 ssm 的总结。 一、Spring Spring是一个开源框...
    其实我很菜啊阅读 4,822评论 3 2
  • 要加“m”说明是MB,否则就是KB了. -Xms:初始值 -Xmx:最大值 -Xmn:最小值 java -Xms8...
    dadong0505阅读 4,830评论 0 53
  • 对于java中的思考的方向,1必须要看前端的页面,对于前端的页面基本的逻辑,如果能理解最好,不理解也要知道几点。 ...
    神尤鲁道夫阅读 813评论 0 0
  • 识别的过程其实是自我怀疑的过程,否定自我的过程,是一个重新认定的过程。这个过程是一个痛苦的、恐惧的过程! 一个人为...
    高墙冥思_5a44阅读 746评论 1 2