`
duanfei
  • 浏览: 733715 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

对项目认识的进展

    博客分类:
  • J2EE
阅读更多
项目文件很多,最外层包括典型的MyEclipse组成:

/.settings文件夹

/lib文件夹

/src文件夹

/WebRoot文件夹

.classpath

.myhibernatedata

.mystrutsdata

.project

lib中只有一个导入的mysql-connector-java.jar驱动文件

关键之处在于src目录和WebRoot目录。

★src目录下是所有的java类文件,即*.java这种扩展名的。

类文件组织是很复杂的一部分,package组成大致为com-google-i_sales-components(domain、service、util、web)等,还有继续深入的两三层。

同级还有extremetable-config目录,里面就一个properties文件,记录的信息对理解并不重要。

同级的i18n目录包括mesages.properties文件,internationalization文件中有18个字母。

★WebRoot就是系统(网站)的主体,可以将tomcat的conf/servers.xml配置到这一级目录启动。

里面的目录结构为:

commons

images

META-INF

pages

scripts

styles

uploads

WEB-INF

widgets

accessDenied.jsp

login.jsp

很复杂!暗藏乾坤,折腾了我三个月!

系统的实现基于Struts、Hibernate(应该有,尚未找到)、Spring、Acegi。

同时配合使用了SpringSide、extremecomponents(EC标签)、compass全文检索。

按照顺序描述:

☆commons目录

很多jsp文件,403.jsp、404.jsp这些都是对出错情况的一个较好的网页提示。

inprogress.jsp就是提示说内容正在准备,在后续的配置的调用情况是:

struts-config.xml文件中的<golbal-forwards><forward name="inprogress" path="/commons/inprogress.jsp"></golbal-forwards>

就是说所有的forward流向都不能使用的时候,就流向这个倒霉的inprogress。

其他的taglibs.jsp里面就是所有的taglib定义,包括jstl核心库、其他库、ec标签等,大部分网页都会静态载入这个文件。其中定义了<c:set var="ctx" value="${pageContext.request.contextPath}"/>,在其他页面中要使用到道歉请求路径是,直接使用&{ctx}可以有效的表达路径上下文。很方便。

☆images目录

包括icon和menu两个文件夹,应该是所有的图标和菜单的图形。

☆META-INF目录

只有MANIFEST.MF文件。

Manifest-Version: 1.0
Class-Path:

就只有上述两句话,很爽。

☆pages目录

也全部是.jsp文件,不过这里面的文件都是重量级的,这一点和commons目录不同。

包括:footer.jsp、head.jsp、index.jsp、loginForm.jsp、main.jsp、menu.jsp

需要隆重推出的就是loginForm.jsp,这个是网站首页login.jsp主要包含的页面。

其中的内容主要为登陆时的输入框,表单提交的URL等,知识点如下:

form表单的提交action属性为:/j_acegi_sceurity_check 这个对应Acegi的配置。

用户名输入框的name="j_username",密码框name="j_password",这些是规定好的,与Acegi对应。

footer.jsp的内容很少,只包括页脚的版权信息。

head.jsp只包括头部信息,即标题。

index.jsp是内容网页的框架,通过iframe把页面分成几个大的组成部分,上面的header嵌入head.jsp。

左边的menu使用/commons/menu.do。实际上通过一系列配置转换和流向,引入的是menu.jsp。

右边的内容区嵌入main.jsp。最下面的版权信息采用文字显示。

menu.jsp这个页面很厉害!

在index.jsp中请求commons/menu.do时会带来一系列复杂的处理:
1、web.xml中对所有的*.do都转给ActionServlet处理
2、ActionServlet在相应的xml文件中查找/commons/menu匹配的path
3、在struts-config-menu.xml中找到了匹配的path
4、由于action被Spring统一管理,再到action-servlet.xml中查找匹配的/commoms/menu,得到action为com.google.i_sales.components.menu.web.MenuAction
5、stuts中管理的forward名字为list,流向为/pages/menu.jsp

main.jsp里面没有任何内容,<body>元素中间只有一个<div id="content">

将来可以对应<link href="${ctx}/styles/admin/admin.css" type="text/css" rel="stylesheet">里面的样式文件。

☆scripts文件夹

包括所有会使用到的JavaScript文件,包括:

admin.js

data.js

menu.js

prototype.js

validator.jsp和jstemplate文件夹,并不重要。

常常用类似<script src="${ctx}/scripts/menu.js" type="text/javascript"></script>的形式来调用。

☆styles文件夹

包括:

admin.css

default.css

google.css则全部以点开头。

☆uploads文件夹为空。

☆widgets文件夹

译作小器件,包括ajaxupload、calendar、dojo、extremecomponents、lightbox、scriptaculous

☆accessDenied.jsp

提示<h1>很抱歉,拒绝访问!</h1>

显示内容为:

<%= request.getAttribute(AccessDeniedHandlerImpl.ACEGI_SECURITY_ACCESS_DENIED_EXCEPTION_KEY)%>

☆login.jsp

网站的首页,入口!

导入了一些样式和javascript文件,嵌入了loginForm登陆页。

=========================================================

                                               WEB-INF大牛!

赫赫有名的WEB-INF是核心部分,结构如下:

classes目录

config目录

lib目录

modules目录

pages目录

spring目录

.struts-config.mex

action-servlet.xml

log4j.properties

menu-config.xml

struts-bean.tld

struts-config.xml

struts-html.tld

struts-logic.tld

struts-nested.tld

struts-template.tld

struts-tiles.tld

validation.xml

validator-rules.xml

web.xml

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics