1. 程式人生 > >使用 java替換web專案的web.xml

使用 java替換web專案的web.xml

 

 

建立一個介面:

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