Hello World using IDEA

Jul 10, 2017 10:38:44 AM

作者:Howe

关于这个 Hello World

这是一个简单的小例子,通过简单的几步,即可在 IDEA 中搭建出一个 Nutz.Mvc的运行环境,我假设你已经:

  • 有了 IntelliJ IDEA — 2016.x 以上版本,推荐2017.x系列

详细步骤

创建一个 Maven Project

创建一个新的 Maven Project (Create New Project > Maven > maven-archetype-webapp > Bundled(Maven 3))

  • 项目的groupId为 org.nutz
  • 项目的artifactId为helloworld
    Hello World using IDEA - 图1Hello World using IDEA - 图2Hello World using IDEA - 图3Hello World using IDEA - 图4Hello World using IDEA - 图5

点完成后等待项目初始化

Hello World using IDEA - 图6

将 Nutz.jar 引入项目中

本例子需要 Nutz-1.r.59 或者更高的版本

在 pom.xml 写入,并保存。

  1. <dependency>
  2. <groupId>org.nutz</groupId>
  3. <artifactId>nutz</artifactId>
  4. <version>1.r.60</version>
  5. </dependency>

Hello World using IDEA - 图7

配置运行服务器

在 pom.xml 写入 servlet 依赖,并保存。

  1. <dependency>
  2. <groupId>javax.servlet</groupId>
  3. <artifactId>javax.servlet-api</artifactId>
  4. <version>3.1.0</version>
  5. <scope>provided</scope>
  6. </dependency>

在 pom.xml 配置运行服务器依赖,这里使用的是Jetty

  1. <plugins>
  2. <plugin>
  3. <groupId>org.eclipse.jetty</groupId>
  4. <artifactId>jetty-maven-plugin</artifactId>
  5. <version>9.4.3.v20170317</version>
  6. </plugin>

保存文件即可

修改 web.xml

通过声明一个 Filter,将 Nutz.mvc 挂载到 项目 中

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  5. version="3.1">
  6. <display-name>hellonutz</display-name>
  7. <filter>
  8. <filter-name>nutz</filter-name>
  9. <filter-class>org.nutz.mvc.NutFilter</filter-class>
  10. <init-param>
  11. <param-name>modules</param-name>
  12. <param-value>demo.hello.MainModule</param-value>
  13. </init-param>
  14. </filter>
  15. <filter-mapping>
  16. <filter-name>nutz</filter-name>
  17. <url-pattern>/*</url-pattern>
  18. <dispatcher>REQUEST</dispatcher>
  19. <dispatcher>FORWARD</dispatcher>
  20. </filter-mapping>
  21. </web-app>

Hello World using IDEA - 图8

创建入口函数

新建个java文件夹,并设定为源码文件夹Hello World using IDEA - 图9Hello World using IDEA - 图10Hello World using IDEA - 图11打开刚才创建的 MainModule.java,添加一个函数,整个类的源代码如下:Hello World using IDEA - 图12

  1. package demo.hello;
  2. import org.nutz.mvc.annotation.*;
  3. public class MainModule {
  4. @At("/hello")
  5. @Ok("jsp:jsp.hello")
  6. public String doHello() {
  7. return "Hello Nutz";
  8. }
  9. }

Hello World using IDEA - 图13如果你想知道更多配置方式,请参看

创建 jsp 页面

因为我们在入口函数里声明了一个 JSP 视图,按照视图的定义

  • @Ok("jsp:jsp.hello")
    我们需要在 WEB-INF 下面建立一个名为 jsp 的文件夹,并在里面建立一个 hello.jsp

Hello World using IDEA - 图14

下面是 hello.jsp 的源代码:

  1. <html>
  2. <body>
  3. <h2>Hello World!</h2>
  4. <h1><%=request.getAttribute("obj")%></h1>
  5. </body>
  6. </html>

仅仅是输出入口函数的返回值。是的,无论入口函数返回什么,都会保存在 request 对象 "obj" 属性中

启动服务 点击右侧Maven Projects > Plugins > jetty > jetty:run

控制台输出

Hello World using IDEA - 图15

在浏览器中访问

Hello World using IDEA - 图16

这篇文章虽然不算短,但是实际上,你需要做的事情不多,不是吗? ^_^

如何进阶

本页面的文字允许在知识共享 署名-相同方式共享 3.0协议GNU自由文档许可证下修改和再使用。

原文: http://nutzam.com/core/mvc/hello-idea.html