基于STRUTS2的项目,大家都是怎样组织包结构的??

cjmiou 2009-01-12 12:17:36
基于STRUTS2的项目,大家都是怎样组织包结构的??
以前基于STRUTS1的项目,一般分为几个包 action ,actionform ,model 有时还有专放接口的包如:personMgrImpl这样的结构,但现在的struts2,action,actionform,model往往都在一个包里面了,所以有点疑惑应该怎样组织比较好呢??

比如说,如果是我自己做的话,我可能在Action里包含有POJO 和action相应的方法如:execute(),login(),regist()等,这样的话就什么东西都放在里面了,这样应该感觉很乱吧?

应该怎样来组织这些包结构,它们之间又怎样联系呢???
...全文
256 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
conald 2009-01-16
  • 打赏
  • 举报
回复
sorry ,第2个写错了,
com.test.dao //dao实现 只显示关键代码
应该是
com.test.daoimpl
conald 2009-01-16
  • 打赏
  • 举报
回复
我的是这样的
com.test.action //action这个就不说了
com.test.dao //dao接口
com.test.daoimpl //实现dao接口
com.test.serviec //service业务
com.test.serviceimpl //实现
com.test.common //公共类 比如分页方法啊,或者获得sqlMap等等,当然你觉得麻烦的话,也可以不要
com.test.model //实体

我以LOGIN 为例子

--------------------------------------------------------------------------------
com.test.dao //dao接口
public interface IUserDao {

public boolean isLogin(user u);

}
-----------------------------------------------------------------------------------------
com.test.dao //dao实现 只显示关键代码
public class UserDao implements IUserDao {

SqlMapClient client = SqlMap.getSqlmap();//ibatis的sqlmap

//登陆
public boolean isLogin(user u) {

try{
.......
return true;
}
}catch(Exception ex){
ex.printStackTrace();

}
return false;


}

}

----------------------------------------------------------------------------------------------------
com.test.serviec //service业务

public interface IUserService {

public boolean isLogin(B2C_tbl_admin_user b2c_tbl_admin_user);

}

----------------------------------------------------------------------------------------------------
com.test.serviceimpl //service业务实现
public class UserService implements IUserService {

private IUserDao userDao =null;

public IUserDao getUserDao() {
return userDao;
}
public void setUserDao(IUserDao userDao) {
this.userDao = userDao;
}



//登陆
public boolean isLogin(user u) {

return userDao.isLogin(u);
}


}
-----------------------------------------------------------------------------------------------------

action

public class LoginAction extends ActionSupport {
private IUserService userService; //IUserServce接口
private String user_name;//帐号
private String password; //密码
private user u //实体类
get set 方法省略


//登陆
public String islogin(){
u =new user();
if(getUserService().isLogin(u)){
return SUCCESS;
//其他的我省略了
}else{
return INPUT;
}
}


}
-------------------------------------------------------------------------------------------------

strust2 的xml

<action name="login" class="com.b2c.action.LoginAction"method="islogin">

<result name="input">/login.jsp</result>
<result name="success">/goodsList.jsp</result>

</action>

--------------------------------------------------------------------------------------------------------


spring xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">


<bean id="userDao" class="com.test.dao.impl.UserDao"></bean>
<bean id="userService" class="com.test.service.impl.UserService">
<property name="userDao" ref="userDao"></property>
</bean>

<bean id="LoginAction" class="com.test.action.LoginAction">

<property name="userService" ref="userService"></property>
</bean>

</beans>
--------------------------------------------------------------------------------------------------

LOGIN页面
<s:form theme="simple" action="login">

<table align="center">
<tr>
<td>
<s:fielderror></s:fielderror>
</td>
</tr>
<tr align="right">
<td><font style="font-size:13px">管理员姓名:</font> <s:textfield name="user_name" id="name" maxlength="10" cssStyle="width:100px"/><br></td>
</tr>
<tr align="right">
<td><font style="font-size:13px">管理员密码:</font> <s:textfield name="password" id="password" maxlength="10" cssStyle="width:100px"/><br></td>
</tr>

<tr align="center">
<td><img border=0 src="image.jsp"></td>

</tr>
<tr>
<td colspan=2 align="center"><s:submit value="进入管理系统" onclick="return logincheck()"></s:submit> </td>
</tr>
</table>

</s:form>


---------------------------------------------------------------------------------------------------
其他的比如ibatis数据访问代码就省略了



最关键的还是那个spring 如果你觉得麻烦或者不喜欢,也可以不用,去new 其他类就是了,
cjmiou 2009-01-16
  • 打赏
  • 举报
回复
谢谢楼上各位!!
但还有些不太明白:
各个包之间的联系是怎样的??
能不能用注册登陆的例子说明一下??
pxcong007 2009-01-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wcgchen 的回复:]
我是这样组织的:
dao
dao.hibernate
model
service
service.impl
action
[/Quote]

和你极为相似

dao
dao.impl
entity
service
service.impl
action
xbase
  • 打赏
  • 举报
回复
帮顶
frozenfish 2009-01-13
  • 打赏
  • 举报
回复
我是这样组织的:
dao
dao.hibernate
model
service
service.impl
action
cjmiou 2009-01-12
  • 打赏
  • 举报
回复
麻烦举一个模块的例子
dennistan 2009-01-12
  • 打赏
  • 举报
回复
ANT,MAVEN
zou_wei_forever 2009-01-12
  • 打赏
  • 举报
回复
可以看看天乙社区这个开源论坛,网上有下载,最新的是struts2 +hibernate+spring开发的

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧