任何人都可以推荐一个简单的Java Web应用程序框架吗?[已关闭]

2022-08-31 15:04:24

我试图开始使用我希望在Java中相对快速的Web应用程序,但是我尝试过的大多数框架(Apache Wicket,Liftweb)都需要太多的设置,配置,并试图围绕Maven进行头脑,同时让整个事情与Eclipse一起玩,我花了整个周末只是为了达到我编写第一行代码的地步!

任何人都可以推荐一个简单的Java webapp框架,不涉及Maven,极其复杂的目录结构或无数必须手动编辑的XML文件?


答案 1

我自己没有尝试过,但我认为

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是一个很好的选择。


答案 2

(春季 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>

这只是关于春天能做什么的冰山一角......

希望这有帮助。


推荐