javaweb如何模块化

眼镜遮住了眼 发布于 2016/12/27 11:56
阅读 889
收藏 0
把一个项目分成多个模块,各模块应该打成什么包呢?jar?对于spring+mybatis+springmvc整合的项目来说,如果打成jar包,应该只能将模块写到service层,不能到控制器,因为当有多个带有控制器的jar,并通过url访问他们时,是不处在同一个会话期的。但是这样写的话(没有控制器),最后还要统一将控制器写在一个项目中。如果把各模块打包成war(带控制器)也不在同一会话期。 一般情况下,javaweb项目,应该如何划分模块,打成什么包。或者如何使多war,jar包共享session?
加载中
1
军02师
军02师
缓存服务器共享session
1
流浪的木马
流浪的木马
controller打war,service打jar
眼镜遮住了眼
那controller就只能全交给一个人写了
流浪的木马
流浪的木马
@眼镜遮住了眼 回复@眼镜遮住了眼 : 所有controller在一个war包中
眼镜遮住了眼
所有controller写在一个war包吗?如果分开写就可能出现不再一个会话期了。
0
554330833a
554330833a
java9可以模块化
0
眼镜遮住了眼
我说的模块化就是指设计上的模块化,应该跟语言没有关系吧
0
邹海彬
邹海彬
controller, service, dao组成jar,jsp交给前端进行开发
邹海彬
邹海彬
回复 @眼镜遮住了眼 : 不会啊,都在一个java进程里运行
眼镜遮住了眼
多个这样的jar包,前端页面通过url执行不同包controler时就不处在同一个会话期了,sessionid就不一样了。
0
成都杨浩
你需要的只需要安装个redis就能实现。要实现模块化,前后端分离,就用 redis做session共享,apache https做模块映射。nginx做集群。
眼镜遮住了眼
谢谢,以后会按照你的思路试一下,先记在笔记中
0
一只小桃子
一只小桃子

javaweb项目,应该如何划分模块。  你说的模块是 子系统的意思吧。 比如商品管理是一个war,订单管理一个war,用户管理一个war 。 你现在的问题是,会话没有抽出来。我在这个系统登陆,另外的系统并不认识我。可以参考的解决办法有,sso 或者 session抽到项目外面来共享,不用servlet的session 。

说模块化,还以为是把项目分层,每层打包呢!

眼镜遮住了眼
昨天测试了一下,将模块写到controller,页面分别通过url访问不同的controller,sessionid是一样的,也就是属于同一会话期,奇怪?之前写过一个专门生成验证码的controller,登陆页面登陆时,总提示验证码不正确, 那时候发现是因为sessionid不同,不在一个会话期,使得验证登录的模块不能取到保存在session中的验证码。
0
XLucius
XLucius

可以基于OSGi实现模块化,SpringDM+Virgo+VirgoSnaps,http://www.eclipse.org/virgo/download/

返回顶部
顶部