任何人都可以推荐一个简单的Java Web应用程序框架吗?[已关闭]
我试图开始使用我希望在Java中相对快速的Web应用程序,但是我尝试过的大多数框架(Apache Wicket,Liftweb)都需要太多的设置,配置,并试图围绕Maven进行头脑,同时让整个事情与Eclipse一起玩,我花了整个周末只是为了达到我编写第一行代码的地步!
任何人都可以推荐一个简单的Java webapp框架,不涉及Maven,极其复杂的目录结构或无数必须手动编辑的XML文件?
我试图开始使用我希望在Java中相对快速的Web应用程序,但是我尝试过的大多数框架(Apache Wicket,Liftweb)都需要太多的设置,配置,并试图围绕Maven进行头脑,同时让整个事情与Eclipse一起玩,我花了整个周末只是为了达到我编写第一行代码的地步!
任何人都可以推荐一个简单的Java webapp框架,不涉及Maven,极其复杂的目录结构或无数必须手动编辑的XML文件?
我自己没有尝试过,但我认为
有很大的潜力...
来自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是一个很好的选择。
(春季 3.0 更新)
我也选择Spring MVC。
您需要从这里下载春天
要将 Web 应用程序配置为使用 Spring,请将以下 servlet 添加到您的web.xml
<web-app>
<servlet>
<servlet-name>spring-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>spring-dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
然后,您需要创建您的Spring配置文件/WEB-INF/spring-dispatcher-servlet.xml
此文件的第一个版本可以像以下内容一样简单:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
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-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.acme.foo" />
<mvc:annotation-driven />
</beans>
然后,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"%>
<form:form commandName="person">
<table>
<tr>
<td>Id:</td>
<td><form:input path="id" /></td>
</tr>
<tr>
<td>Name:</td>
<td><form:input path="name" /></td>
</tr>
<tr>
<td>Surname:</td>
<td><form:input path="surname" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Save Changes" /></td>
</tr>
</table>
</form:form>
这只是关于春天能做什么的冰山一角......
希望这有帮助。