到上一篇MAVEN項目子產品化為止我們的項目還是一個純粹的maven項目,這一篇開始介紹maven和webfragment的搭配使用。
首先我們來看一下webfragment是個什麼東東。
如上圖建立一個web fragment project,項目結構如下:
web-fragment.xml和web.xml類似,都是配置檔案,隻不過這個檔案主要是用來子產品化開發的,後面還會有更多的涉及。
我們把META-INF檔案夾複制到前一篇文章做建立的test_module中,并且建立一個resources檔案夾,如下圖:
在resources檔案夾下建立一個md_index.jsp檔案,那麼這個md_index.jsp和test_web.jsp是屬于同一目錄的,這兩個jsp的通路路徑分别是:
http://127.0.0.1:8080/test_web/md_index.jsp
http://127.0.0.1:8080/test_web/index.jsp
也就是說resources檔案夾就相當于是資源檔案的根目錄,裡面當然也可以放置image、css等。
下面建立一個servlet叫TestController,如下圖所示:
TestController的代碼如下所示,我是用的servlet3.0的特性來配置他的路徑的:
@WebServlet(name="testController",urlPatterns="/testController")
public class TestController extends HttpServlet {
private static final long serialVersionUID = -8505905754930866057L;
@Override
protected void doGet(HttpServletRequest requset, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doGet-->");
doPost(requset, response);
}
@Override
protected void doPost(HttpServletRequest requset, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doPost-->");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>TestController</title>");
out.println("</head>");
out.println("<body>");
out.println("<p>"+requset.getParameter("p")+"</p>");
out.println("<p>Hello, this is TestController!</p>");
out.println("</body>");
out.println("</html>");
}
}
部署後就可通路了,如下圖: