使用 java替換web專案的web.xml
阿新 • • 發佈:2018-12-24
建立一個介面:
package my.web; public interface SpringWeb { void config(); }
實現類:
package my; import my.web.SpringWeb; public class SpringInit implements SpringWeb { @Override public void config() { System.out.println("大家好"); } }
import my.web.SpringWeb;public class SpringWeblnitializer implements SpringWeb { @Override public void config() { System.out.println("你好,哈皮!"); } }
建立:MyWebConfig 等同於web.xml
package my.web; import javax.servlet.ServletContainerInitializer; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.HandlesTypes; import java.util.Set;// 等同於web.xml檔案 @HandlesTypes({SpringWeb.class}) public class MyWebConfig implements ServletContainerInitializer { @Override public void onStartup(Set<Class<?>> set, ServletContext servletContext) throws ServletException { System.out.println("hello wrold"); for (Class<?> aclass : set) { SpringWeb o = null; try{ o = (SpringWeb) aclass.newInstance(); o.config(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } } } }
建立一個servlet 繼承於 HttpServlet
package my.web; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/aaa") public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter writer = resp.getWriter(); writer.write("。。。。。"); } }
在src下建立 META-INF 包
其次在建立一個 services 的包 新增一個filed的檔案
//加上這一句 目的專案在初始化自動找到web.xml檔案
my.web.MyWebConfig
結果:
原始碼地址:https://github.com/nongzihong/servlet_new