我来自Enterprise Java背景,涉及相当重量级的软件堆栈,并且最近发现了 Stripes框架 ; 我最初的印象是,这似乎可以很好地减少在Java中构建Web应用程序的不愉快部分.
有没有人使用Stripes进行已经上线的项目?你能分享一下你从项目中获得的经验吗?另外,您是否考虑过任何其他技术和(如果是)为什么选择Stripes?
在我的Stripes应用程序中,我定义了以下类:
MyServletListener implements ServletContextListener, HttpSessionListener, HttpSessionAttributeListener {
private SomeService someService;
private AnotherService anotherService;
// remaining implementation omitted
}
Run Code Online (Sandbox Code Playgroud)
此应用程序的服务层使用Spring来定义XML文件中的一些服务bean并将其连接在一起.我想注入实现SomeService
和AnotherService
进入的bean,MyServletListener
这可能吗?
我来自Struts 1世界.现在我正在开始一个新项目,我们正在使用Spring.
我可以使用Spring MVC,但看到使用Stripes是多么简单(没有xml是一个很大的优点)我很想用我们的品牌打开新的Spring Web应用程序.我没有Stripes或Spring MVC的经验(除了基本的CRUD应用程序).
问题是,使用Stripes而不是Spring MVC的缺点是什么?应用程序的几个部分将是RESTful,如果我们使用Stripes,它会变得更难吗?验证怎么样?我想条纹会更容易实现,不是吗?
我们开始构建一个可能会看到大量流量的webapp.我们没有很多钱,所以我们希望降低硬件成本.更多或更少,我认为这意味着我们将尝试尽可能无状态(如检票方式暗示 - 具有可收藏的URL,等等,等等)
另一个问题是,我们要雇佣承包商(想想oDesk或者说是大量的工作) - 所以有找人才的问题.
我看过Tapestry并看到了很多API不稳定性(参见:你为什么停止使用Tapestry?)这让我不愿意使用它.
Seam和Wicket非常有状态 - 不是我关心的事情.
Grails看起来很有趣.我知道与纯Java相比,性能会受到影响,但它可能是值得的.
条纹看起来不错,但我找不到使用Stripes构建的网站示例
您建议使用哪种Java框架来提高性能和简单性?
我正在Jboss 4.2.3.GA上运行Stripes Web应用程序,并且在我启动JBoss时尝试调用方法.我创建了一个ServletContextListener,如下所示:
public class TimerContextListener implements ServletContextListener {
@Inject
private TimerManager timerManager;
public void contextInitialized(ServletContextEvent servletcontextevent) {
((Injector) servletcontextevent.getServletContext().getAttribute(GuiceServletContextListener.KEY)).injectMembers(this);
timerManager.stopAllTimers();
timerManager.startTimer();
}
public void contextDestroyed(ServletContextEvent servletcontextevent) {
}
}
Run Code Online (Sandbox Code Playgroud)
我在web.xml中添加了一个条目,如下所示:
<listener>
<listener-class>com.lawless.web.servletContextListeners.TimerContextListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
但是当我启动服务器时,contextInitialized()被调用了3次.知道问题是什么吗?谢谢.
我是http://www.stripesframework.org的忠实粉丝,并为我的项目大量使用它.然而,这个项目似乎已经死了.无法再注册网站(无许可证),我无法联系任何管理员.邮件列表也不可用.
有人知道项目的状态吗?
如果它已经死了将是一个遗憾,因为我认为它是Java Web开发最优雅的框架之一.
我一直在使用Stripes框架开发一个小型Web应用程序.既然Google App Engine已经添加了对Java的支持,我想知道我是否可以将其转换为在Google App Engine中运行以节省托管成本.
在JSP中,我有以下字段:
<stripes:text name="email"/>
Run Code Online (Sandbox Code Playgroud)
这个字段在我的动作bean(片段)中:
public class CreateClaim implements ActionBean {
private String email;
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
public Resolution alc(){
email = "poodle";
return new ForwardResolution("aForward.jsp");
}
}
Run Code Online (Sandbox Code Playgroud)
在alc()方法中,我将email设置为null.但是当页面呈现时,电子邮件字段的值与最初输入的完全相同.有没有办法清除此字段并触发事件?
干杯
戴夫
我现在感觉有些矛盾.我有一个使用Stripes用于MVC框架的Web应用程序和用于后端的Spring/Hibernate.我的MVC层中有一个帐户注册方法,需要以下验证:
我在Stripes(MVC层)中有一个验证方法来检查这两个案例,但是想知道我的服务层是否应该复制这些检查?如果服务层接口作为Web服务公开,那么我认为验证是个好主意,但如果它只在Web应用程序的上下文中使用它是否需要?
编辑:我不打算复制验证代码 - 我的意思是在两个地方复制验证方法调用.
我认为我的选择是:
这里最好的做法是什么?我正在寻找关于我应该选择哪个选项以及原因的建议/意见.
请注意,对注册表单的输入字段进行简单的验证检查(如检查空白),我认为这些应仅由MVC验证处理; 我只关心更复杂的验证.
我正在开发一个JPA(Hibernate实现),Spring和Stripes Web应用程序.我有许多JPA实体,它们具有以下共同的审计和查询字段:
createdBy - 创建实体的人员的用户ID.createdOn - 创建实体的日期updatedBy - 上次更新实体的人员的用户ID updatedOn - 实体上次更新的日期
我有我的应用程序工作,以便在实体持久化时自动设置createdOn和updatedOn但我不知道如何填充createdBy和updatedBy字段而不必一直通过当前登录用户的ID从控制器类到DAO.
有没有人有任何关于如何在不通过所有地方传递用户ID的情况下这样做的建议?请注意,当前用户ID目前存储在HttpSession对象中,因此我的后端需要以某种方式访问此数据...
谢谢!
stripes ×10
java ×9
spring ×4
frameworks ×1
grails ×1
hibernate ×1
jboss ×1
jpa ×1
servlets ×1
spring-mvc ×1
validation ×1