A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 陈文老师 于 2017-11-23 13:28 编辑

要毕业了?要找工作啦?开不开心?紧不紧张?回首黑马这半年,感觉自己是不是被自己的努力所感动,然而仔细想想学了很多,马上要出去找工作了却脑子一片空白。重庆JavaEE就业2期龙师兄毕业后在寝室闭关修炼半个月(当然不建议大家这样做,一定要趁着你刚毕业,什么都知道赶紧出去找工作,越到后面越忘得多)个人总结了咱们6个月以来所学的一些基础框架和淘淘项目的一些核心技能点,要复习的,赶紧看看吧!但是答应我,看完后赶紧出去面试哟~~~不要怂,就是干!!!
【基础框架篇】-【Struts2】
1      Struts2
1.1      什么是struts2?
1)        Struts2是一个基于MVC设计模式的web应用框架,它本质上相当于一个servlet,在mvc设计模式中,struts2作为控制器来简历模型与视图的数据交互
2)        Struts2的架构流程(重要*****):
3)         
1.2      为什么要使用struts2?
1)        Struts2的使用相对于原生的servlet,采用属性驱动、模型驱动接收参数,配置action代替原来的servlet完成逻辑操作,配置result返回页面。
2)         
1.3      怎样使用struts2框架?
1)        导入架包
2)        配置web.xml,需要配置一个StrutsPrepareAndExecuteFilter(前端控制器)才可以使用struts2框架
3)        Struts.xml配置<package><action>
4)        创建action来完成业务操作
5)        Struts2的执行流程
1.    当通过浏览器发送一个请求
2.    会被StrutsPrepareAndExecuteFilter拦截
3.    拦截后会调用struts2框架默认的拦截器完成部分功能
4.    在执行action中操作
5.    根据action中方法的执行结果来选择页面跳转result视图
6)        创建一个action类(有三种方式)
1.    直接创建一个pojo,耦合低,但是所有的功能都需要自己实现
2.    创建一个action的实现类,耦合低,还是需要自己来完成功能
3.    创建一个类继承actionSupport,推荐使用,具有丰富的功能,耦合度高
7)        配置访问方式(三种)
1.    直接通过<action>标签来配置,需要指定method,默认是执行execute方法
2.    简化访问方式,可以使用*通配符类访问,缺点:使用过多的*导致代码难以阅读
3.    动态方法调用,需要自己开启<contentname=”DynamicMethodInvocation” value=”true”>。不推荐使用
8)        接收参数(两种)
1.    属性驱动:参数名和属性名一致,相应的set方法
2.    模型驱动:需要action实现modelDriven,重写getModel方法
9)        获取servletAPI的方式(两种)
1.    通过servletActionContext获取
2.    通过注入的方式获取
10)     Ognl(对象导航图及语言)表达式:我们在struts2中使用ognl的作用是获取值栈中的数据,可以使用ognl+valueStack达到在页面上来获取相关的数据(需要再页面写<%@taglib%>标签,<s:property value=”表达式”>取值)
11)     ValueStack(值栈):使用值栈的主要目的是为将我们的action中产生的数据携带到页面上
1.    原理:当客户端发送一个请求,服务器就会创建一个action来处理请求,struts2中的action是多例的,每一次请求都会创建一个新的action,所以它不存在线程安全问题,一个valueStack对应一个action,valueStack贯穿了整个action的生命周期。
2.    两个部分组成:
a)      compoundRoot,是一个ArrayList,用来存储action的相关数据
b)      context,是一个map,主要用来存储一些引用,要从context中获取数据需要加“#”
12)     获取valueStack方式(两种)
1.    直接从request中获取
2.    从actionContext中获取
13)     Action的拦截器
1.    基于Aop(面向切面)思想:通过代理来实现
2.    Struts2的拦截器主要是拦截action的操作,在action的执行前或者执行后进行一些其他的功能操作,相当于是给其加强
3.    拦截器链:依次访问的连接器形成的一条链,执行过程:
a)      请求访问action时,被strutsParpareAndExcute拦截,
b)      执行其dofilter方法内执行execute.executeAction(),
c)       再执行dispatcher.serviceAction(),在这个方法中会创建action的代理对象
d)      通过proxy去执行proxy.execute()
e)      在execute方法里 return invocation.invoke()
f)       在invoke()方法中回去加载我们配置文件,将配置文件中的所有拦截器得到进行遍历
g)      在每一个拦截器的interceptor方法内,又调用defaultActionInvocation的invoke()方法,其实就是一个递归调用。
14)     Struts的文件上传
1.    注意事项(三个)
a)      表单提交方式(method=“post”)
b)      表单中必须要有一个<input type=”file”>
c)       表单中必须设置enctype=”multipart/form-data”
d)      服务端fileupload.jar
2.    Struts上传文件有默认大小(2097152):修改在stuts.xml中配置<context name=”struts.multipart.maxtSize” value=””>
15)     Struts2处理异步ajax请求
1.    通过httpservletresponse响应数据
2.    使用struts2的=框架的json插件来完成ajax操作
16)     Struts2注解开发
1.    开启注解扫描<constantname=”locatord” value=””>
【基础框架篇】-【SpringMVC】

6 个回复

倒序浏览
写得不错,赞
回复 使用道具 举报
很实用哟,收藏起来!
回复 使用道具 举报
看起来好厉害的样子
回复 使用道具 举报
回复 使用道具 举报
学长带带我呀!!!!!
回复 使用道具 举报

谢谢啦,哈哈哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马