SSM学习笔记

单独对于mybatis,不需要使用web.xml,只需要在resources编写一个mybatis.cfg.xml文件,也可以写自定义的名字。写一个用于得到sqlsession的类,里边把mybatis.cfg.xml文件读入到inputstream。再变成sqlsessionfactory。再得到session。这是得到session的步骤。
建立pojo类。再建立接口类。在里边声明需要的方法。

在这里插入图片描述

在resources里相应的xml文件。最好同名然后在里边定义功能。这里可以通过resultType="com.zgx.pojo.Girl"指定返回的类型。以为类有getter和setter方法,返回的类型形成一个实例

在这里插入图片描述

在mybatis.cfg.xml注册这个mapper文件。
测试->

在这里插入图片描述
在这里插入图片描述

对于springMVC,是在web.xml里注册dispatcherservlet,利用配置文件帮助dispatcherservlet寻找使用注释定义的controller,执行controller行程model。并且帮助controller找到相应的jsp也就是view
注意事项与知识点:

• spring中运行级别由高到低分别为:监听器>过滤器>拦截器>servlet

• HiddenHttpMethodFilter的作用:浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求,该过滤器为HiddenHttpMethodFilter。
需要注意的是,由于doFilterInternal方法只对method为post的表单进行过滤,所以在页面中必须如下设置:
在这里插入图片描述
而不是使用:
在这里插入图片描述

• ContextLoaderListener

ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。

• 静态资源处理器<mvc:default-servlet-handler/>

优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.为了不让MVC处理静态资源,往往在web.xml中配置DispatcherServlet的请求映射,使用 *.do 、 *.xhtml等,这样做DispatcherServlet不会处理用户的静态资源请求,但是这样做不符合优雅的REST风格,但是如果映射写成/
则DispatcherServlet会把普通静态资源请求当做普通请求处理,有时出现找不到相应的处理器的错误。
在springMVC-servlet.xml中配置<mvc:default-servlet-handler />后,会在Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。这时映射可以放心写成/。
它还会扫描系统的静态资源,如引入jQuery时,不加这个组件会提示找不到jQuery。

• @Autowired

这个注解一般用于申明接口时,比如
在这里插入图片描述
这里UserService是一个接口,这个注解的作用就是找到这个接口的实现类,并使用这个实现类为userService创建实例,以后既可以直接用userService了。
原理是在配置文件中的注解扫描器会扫描到实现类的注解@Service。从而知道这是一个实现类
在这里插入图片描述
如果有多个实现类,则可以需要在@Autowired("")括号里指定用哪个实现类

• @RequestMapping

如果这个注解是这么使用的,如:@RequestMapping("/user")
则代表在浏览器地址栏就如程序后,如果输/user则会经过此此方法。

但如果是这么使用的@RequestMapping("/delete/{username}")
代表浏览器输入delete后的写一个字段将以username为变量名传入此方法

需要注意的是,在默认情况下,变量中不可以包含URL的分隔符/,例如路由不能匹配/delete/tianmaying/ricky,即使你认为tianmaying/ricky是一个存在的用户名。

它一般配合@PathVariable注解使用
在这里插入图片描述
delete的参数username会自动设置为URL中对应变量username(同名赋值)的值,这里可以不写
(“username”)![ delete的参数username会自动设置为URL中对应变量username(同名赋值)的值,这里可以不写
(“username”)

• @RequestParam和@PathVariable的区别

相同点:@RequestParam和@PathVariable都是用在Controller上的。
不同点:@RequestParam是需要传送过来的数据流中有某个参数,如@RequestParam(“body”)需要发送请求的网页具有body参数。
而@PathVariable(“urlParam”)需要发送请求的网页输入法url里带有这个参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

• @ResponseBody

代表以下方法返回的不是ModelAndView,返回的是一个对象,一般是json

• @Controller作用于类,@ResponseBody作用于方法

@RequestMapping作用于类或方法

• 使用模板文件开发新项目时,需要先将mvn的pom.xml文件里面的原项目名全改成新项目名

然后rename项目名
在这里插入图片描述
还要清除以前的项目的模板
在这里插入图片描述
在这里插入图片描述

• 当一个Httpsession不用了的时候,如果需要删除,可以使用httpSession.invalidate();这个方法,此方法会使该Session无效,同时将该Session绑定的对象全部解绑
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值