我正在尝试开始我希望在Java中使用相对快速的Web应用程序,但我尝试过的大多数框架(Apache Wicket,Liftweb)都需要这么多的设置,配置和尝试把我的脑袋包裹在Maven周围,同时让整个事情与Eclipse玩得很好,我花了整个周末试图达到我编写第一行代码的程度!
任何人都可以推荐一个简单的Java webapp框架,它不涉及Maven,可怕的复杂目录结构,或者必须手动编辑的无数XML文件?
我自己没试过,但我想
http://www.playframework.org/
有很大的潜力......
来自php和经典的asp,它是第一个听起来很有希望的java web框架....
由原始问题提问者编辑 - 2011-06-09
只是想提供更新.
我和Play一起去了,这正是我要求的.它只需要很少的配置,只需开箱即用.这是不寻常的,因为它避免了一些常见的Java最佳实践,而是尽可能保持简单.
特别是,它大量使用静态方法,甚至对传递给方法的变量名称进行一些自省,这是Java反射API不支持的.
Play的态度是它的第一个目标是成为一个有用的Web框架,并且坚持使用常见的Java最佳实践和习惯用法是次要的.这种方法对我来说很有意义,但Java纯粹主义者可能不喜欢它,并且会更好地使用Apache Wicket.
总之,如果您想构建一个方便和简单的Web应用程序,与Ruby on Rails等框架相当,但是在Java中并且利用Java的工具(例如Eclipse),那么Play Framework是一个很好的选择.
(针对Spring 3.0更新)
我也使用Spring MVC.
你需要从这里下载Spring
要配置您的Web应用程序以使用Spring,请将以下servlet添加到您的 web.xml
spring-dispatcher
org.springframework.web.servlet.DispatcherServlet
spring-dispatcher
/*
然后,您需要创建Spring配置文件 /WEB-INF/spring-dispatcher-servlet.xml
您的第一个版本的文件可以像下面这样简单:
然后Spring会自动检测带注释的类 @Controller
一个简单的控制器是:
package com.acme.foo;
import java.util.logging.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/person")
public class PersonController {
Logger logger = Logger.getAnonymousLogger();
@RequestMapping(method = RequestMethod.GET)
public String setupForm(ModelMap model) {
model.addAttribute("person", new Person());
return "details.jsp";
}
@RequestMapping(method = RequestMethod.POST)
public String processForm(@ModelAttribute("person") Person person) {
logger.info(person.getId());
logger.info(person.getName());
logger.info(person.getSurname());
return "success.jsp";
}
}
而且 details.jsp
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
Id:
Name:
Surname:
关于Spring可以做什么,这只是冰山一角......
希望这可以帮助.
我真的开槽到条纹.总体设置包括一些剪切和粘贴XML到您的应用程序的web.xml,然后你就关闭了.无需配置,因为Stripes是一种基于约定的约定框架.覆盖默认行为是通过Java 1.5注释完成的.文档很棒.我花了大约1-2个小时阅读教程并设置我的第一个应用程序.
我还不能与Struts或Spring-MVC进行深入的比较,因为我还没有构建一个完整的版本(就像我在Struts中那样),但看起来它会扩展到那个级别的建筑很好.
您正在搜索http://grails.org/
您可以使用groovy编写代码,这是一种基于Java的动态语言,可以与Java代码,类和库一起平滑运行.语法既不难学也不远离Java.尝试一下,只需几分钟即可启动并运行网站.只需关注http://grails.org/Installation和http://grails.org/Quick+Start即可
格雷茨,GHad
查看WaveMaker,构建一个快速,简单的Web应用程序.他们为Dojo/JavaScript小部件设置了基于浏览器的拖放设计器,后端是100%Java.
条纹:非常好.关于这方面的一本书来自务实的程序员:http://www.pragprog.com/titles/fdstr/stripes.没有XML.需要java 1.5或更高版本.
挂毯:试过旧版3.x. 我被告知当前版本5.x处于测试阶段并且相当不错.
条纹应该是更好的照顾maven,没有xml和快速包裹你的头.
BR,
~A
Grails是为Groovy编写的,而不是Java.AppFuse只是减少了启动任何数量的Webapp框架所需的设置时间,而不是推广其中任何一个.
我建议使用Spring MVC.按照精心编写的教程,您将拥有一个简单,简单的模型自动连接(没有XML配置!)到您喜欢的任何视图技术.
想要在您的客户列表中添加"删除"操作吗?只需将一个名为"delete"的方法添加到您的客户控制器,它就会自动连接到URL/customers/delete.
需要将请求参数绑定到对象上吗?只需将一个目标对象的实例添加到您的方法中,Spring MVC将使用反射来绑定您的参数,这使得编写逻辑就像客户端传递一个强类型对象一样简单.
生病了所有被迫的MVC分工?只是让你的方法返回void,并将你的响应直接写入servlet的Writer,如果这是你的事情.
我喜欢Spring MVC,使用2.5特性,涉及的XML很少.
该条纹框架是一个很好的框架.涉及的唯一配置是在web.xml中粘贴几行.
这是一个非常直接的基于请求的Java Web框架.
Apache Wicket,Liftweb)需要这么多的设置,配置
我不同意,我使用Wicket进行所有项目,从不回头!设置起来并不需要花费太多时间,甚至不需要一个小时来建立一个与Wicket合作的完整环境.
看看Ninja Web Framework.
它是Rails传统中的纯Java MVC框架.它不使用任何基于xml的配置,只需立即开始:会话管理,安全管理,html渲染,json渲染和解析,xml渲染和解析.它还具有内置测试环境,与传统的servlet容器100%兼容.
它使用Maven,但Maven使用正确使得软件开发变得非常简单.它还允许您立即使用任何Ide :)
顺便说一下 - 开发Ninja非常有效 - 对代码进行更改并立即查看结果.
查看:http://www.ninjaframework.org.