导航:首页 > 万维百科 > struts2网站设计层次导航

struts2网站设计层次导航

发布时间:2020-09-03 11:21:36

1、struts2 实现哪个层

struts2本身就是基于MVC模式开发的,所以它不单只实现C层。LZ说的action类的控制只是C层的应用,转到了VIEW就实现了V层。至于M层,它是借助于javaBean和EJB来实现的。
至于spring和hibernate,spring是对业务层的封装处理,hibernate可以说是对数据的封装处理,与数据库打交道。
那么SSH框架联合使用:分别代表的层次:
模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来对数据库进行操作;控制层,用Struts框架来连接数据层和视图层的,接收、处理、发送数据并控制流程;视图层,用JSP模板把页面展现给用户以及提供与用户的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整个架构,提供IOC容器使代码松耦合以及AOP框架的切面功能等等。

2、如何查看网站是否采用了struts2框架

看url里面的连接,如果是XXX.action结尾或直接XXX?参数1=XXX,应该就是stuts2。当然后缀是可以自定义的,但是几乎没有人无聊的改后缀吧。

3、Struts2的Action在j2ee层次中属于哪一层

不要被Action这个名字迷惑了。 如果你同时了解一下 struts2 和 spring mvc 的话。你就知道,实际上空能相似的模块,一个叫 action(struts) ,一个叫 controller(spring mvc)。只是给它起名字不一样而已。

4、Struts2 导航的下拉菜单数据在数据库里 怎么实现

LZ,您确定要在struts2中的action中连接数据库。本人推荐用HIbernate连接数据库。用jabc去连接数据库Mysql的话可以用下面的代码(){try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}Connectionconn=null;try{conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/user?useEncode=true&characterEncoding=utf-8","root","root");}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnconn;}仅供参考啊。

5、Struts2的Action在j2ee层次中属于哪一层,该怎么处理

不要被Action这个名字迷惑了。 如果你同时了解一下 struts2 和 spring mvc 的话。
你就知道,实际上空能相似的模块,一个叫 action(struts) ,一个叫 controller(spring mvc)。
只是给它起名字不一样而已。

6、在Struts2中,DAO属于那一层?

我简单回答一下。

明确DAO的概念,DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。Struts是java在web开发中常用的框架之一。是利用了MVC设计模式。MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。那么常用的框架还有比如:hibernat和spring。那么在,SSH设计过程中,Struts只作为V部分来使用,只控制视图部分。hibernate作为连接数据库的框架,而在spring编写M和C的部分,也就是模型和数据逻辑部分。
如果你做一个自己的项目练习不使用hibernate来连接数据库而采用jdbc和DAO模式代替的话,那我认为你算它是M也可以,因为在jdbc中定义了数据库属性(就好像hibernate的对象关系映射一样),你算它是C也行,因为DAO中写了修改数据库的方法,比如增删改查方法。所以不必计较它是什么部分,只要记住它能做什么!
至于你说的公函的类,我不清楚是什么东西。但是你记住V(视图),是用户用眼睛能看见的部分,M(模型)是事物本身的一些属性抽象化定义出来,而C(控制)往往是方法,里面的数值是需要变化的。比如用户输入个1,通过C返回一个“你好”,用户输入个2,通过C判断返回一个“再见”。

希望对你有帮助

7、struts2哪些地方用到了设计模式

1. 整个结构就如同一个堆栈,除了Action以外,堆栈中的其他元素是Interceptor
2. Action位于堆栈的底部。由于堆栈"先进后出"的特性,如果我们试图把Action拿出来执行,我们必须首先把位于Action上端的Interceptor拿出来执行。
3. 每个位于堆栈中的Interceptor,除了需要完成它自身的逻辑,还需要完成一个特殊的执行职责。这个执行职责有3种选择:
1) 中止整个执行,直接返回一个字符串作为resultCode
2) 通过递归调用负责调用堆栈中下一个Interceptor的执行
3) 如果在堆栈内已经不存在任何的Interceptor,调用Action !

8、如何将多个页面共用一个菜单栏,我用struts2做了一个公司网站。现在主页面上有一个菜单栏

jsp的话用include
iframe不是很好用
当然你也可以用ajax来完成

9、Struts2是如何实现MVC设计模式的?

MVC = 模型、视图、控制器
模型:这个一般不由Struts来做
视图:视图也不算struts的强项,但是struts提供优秀的标签来支持视图的展示,利用标签,struts可以将数据合理的展示给用户
控制器:struts的重要功能,提供struts的过滤器,拦截用户的请求,查找struts配置文件,为其匹配一个对应的Action,这个Action负责调用模型,获得数据,然后对数据做部分处理,接着Action再将处理后的数据,为其选择一个视图进行输出

10、struts2 frame 框架中用action实现页面跳转和数据传递

将导航栏中的链接改成:
<a href="#" onclick="document.getElementById('form_id').action='ActionName';document.getElementById('form_id').submit();return false;">链接</a>
的形式,把form表单的target设置成为content:
<form id="form_id" action="#" target="content(内容显示界面)">
...
这样,当你点击超级链接的时候,所有内容就都能提交过去了。

这是以FORM表单的形式。只是,现在你要传的值,非要是用隐藏域么?不能用url?para=val的方式传么?

不知道上面的说得够不够清楚,
:)
天天开心,有事回复,

与struts2网站设计层次导航相关的知识