天天看點

MAVEN配合webfragment

到上一篇MAVEN項目子產品化為止我們的項目還是一個純粹的maven項目,這一篇開始介紹maven和webfragment的搭配使用。

首先我們來看一下webfragment是個什麼東東。

MAVEN配合webfragment

如上圖建立一個web fragment project,項目結構如下:

MAVEN配合webfragment

web-fragment.xml和web.xml類似,都是配置檔案,隻不過這個檔案主要是用來子產品化開發的,後面還會有更多的涉及。

我們把META-INF檔案夾複制到前一篇文章做建立的test_module中,并且建立一個resources檔案夾,如下圖:

MAVEN配合webfragment

在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,如下圖所示:

MAVEN配合webfragment

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>");

	}
}
           

部署後就可通路了,如下圖:

MAVEN配合webfragment