- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java学习日记-第三阶段
2015-10-8 SSH介绍——Struts
SSH:struts2、spring、hibernate
SSH的复杂度:
struts1(耦合性太强)——》struts2(struts1+webWorks)Struts2以webworks为核心。
Hibernate问题与争议:性能。优点:数据迁移的时候可以适应不同的数据库
Hibernate的核心是:懒加载机制,数据库什么时候打开、关闭。
【之前的B/S和C/S项目都是围绕着事务展开,数据库什么时候打开,什么时候关闭】
spring+hibernate 存在的问题
Spring的核心:IOC+AOP。
Spring的功能涵盖面很大,给学习和理解带来困难【解决办法:抓住重点】
spring与 SUN J2ee框架之争
Jar包冲突:主要是版本不一致的问题——》错误提示不友好
SSI:SpringMVC、Spring、iBatis
Struts2的核心定位:Controller————————AjAX不是MVC。Jquery-easyui框架
【所以:前台一般用MVC,后台用AJAX,因为AJAX用于前台影响性能】
项目BookShop就是将Servlet替换成Struts
我们的开发环境:JDK1.6+J2EE5+struts2.1 【添加向导的时候,注意它所支持的环境】
添加向导:Myeclipse——》Project capability——》add struts capability——》struts2.1——》*.action【选/*会影响性能】——》struts core libraries
Struts的开发步骤:
(1)增加struts的核心包
web project中增加了struts core libratries,相应的在web.xml中增加了”StrutsPrepareAndExecuteFilter”过滤器。
Src下增加了struts.xml。
查看Struts——》struts core中的————》struts-default.xml。所有的struts继承于struts-default.xml
在web.xml文件中增加过滤器
写Action类
配置struts.xml
Struts.xml中增加了
(1)package name=项目名 extends=struts-default/package
(2)action name=loginAction class=包名.类名(包名.LoginAction) name中的首字母最好小写,它相当于后面配置的class的一个对象。
(3)页面的提交不是Servlet了而是 loginAction.action
(4)LoginAction.java中写public String execute()方法。在此方法中区分get和post方法。
HttpServletRequest request = ServletActionContext.getRequest()
String result = ;//根据方法名的不同,给定不同的返回值。把页面转向全改成 result=的返回值。通过不同的返回值,在struts中,通过 result name=loginOk/result跳转到不同的页面
if(request.getMethod().iequalsgnoreCase(get)){
result = getOk;
}
Struts的工作顺序:
web site启动时,监听器 servletContextAction中的applicationstart方法解析struts.xml。用反射技术【dom和Sax】,检查class的配置信息是否正确。
系统启动后,会把struts.xml中的内容,都读入到内存中,保存成一个Map对象(name,class)
用户登陆访问http://localhost:8080/Bookshop/loginAction.action。在过滤器中触发dofilter方法,url被StrutsPrepareAndExecuteFilter过滤出loginAction字符信息。是客户端的发出请求。所以在index.jsp中的request.dispatcher不能这样写,因为客户端的请求是经过过滤器的,必须写成response.sendRedirect(basepath+mainAction.action)
用loginAction在map中通过getke
文档评论(0)