一、創建一個新的 Maven Project (Create New Project > Maven > maven-archetype-webApp > Bundled(Maven 3))
項目的groupId為 org.nutz
項目的artifactId為helloworld





點完成后等待項目初始化

二、引入nutz
本例子需要 Nutz-1.r.59 或者更高的版本
在 pom.xml 寫入,并保存。
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutz</artifactId>
<version>1.r.60</version>
</dependency>

配置運行服務器
在 pom.xml 寫入 servlet 依賴,并保存。
<dependency>
<groupId>JAVAx.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
在 pom.xml 配置運行服務器依賴,這里使用的是Jetty
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.3.v20170317</version>
</plugin>
保存文件即可

三、修改 web.xml
通過聲明一個 Filter,將 Nutz.mvc 掛載到 項目 中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>hellonutz</display-name>
<filter>
<filter-name>nutz</filter-name>
<filter-class>org.nutz.mvc.NutFilter</filter-class>
<init-param> <param-name>modules</param-name>
<param-value>demo.hello.MainModule</param-value> </init-param>
</filter>
<filter-mapping>
<filter-name>nutz</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
</web-app>

四、創建入口函數
新建個java文件夾,并設定為源碼文件夾



打開剛才創建的 MainModule.java,添加一個函數,整個類的源代碼如下:

package demo.hello;
import org.nutz.mvc.annotation.*;
public class MainModule {
@At("/hello")
@Ok("jsp:jsp.hello")
public String doHello()
{
return "Hello Nutz";
}
}

五、創建 jsp 頁面
因為我們在入口函數里聲明了一個 JSP 視圖,按照視圖的定義
- @Ok("jsp:jsp.hello")
我們需要在 WEB-INF 下面建立一個名為 jsp 的文件夾,并在里面建立一個 hello.jsp

下面是 hello.jsp 的源代碼:
<html> <body>
<h2>Hello World!</h2> <h1>
<%=request.getAttribute("obj")%></h1>
</body>
</html>
僅僅是輸出入口函數的返回值。是的,無論入口函數返回什么,都會保存在 request 對象 "obj" 屬性中啟動服務 點擊右側Maven Projects > Plugins > jetty > jetty:run
(如果maven面板Plugins內沒有jetty,嘗試刪除pom文件中標簽)
控制臺輸出

在瀏覽器中訪問
