springboot_使用servlet的两种方式
虽然在springboot中我们使用Controller可以应付大部分的需求,但servlet等也是必不可少的。
在springboot中使用servlet有两种方式:
第一种:
- 用注解方式创建一个servlet,并在注解中声明其url
在Application类上添加@ServletComponentScan(“com.rong.interceptor.servlet”),该注解里是创建的servlet的路径。
package com.rong.interceptor.servlet;
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;@WebServlet(“/myservlet”)
public class MyServlet extends HttpServlet {@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("hello");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
}
}
@SpringBootApplication
@ServletComponentScan(“com.rong.interceptor.servlet”)
public class Application {public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
第二种(此方式区别在于不使用@ServletComponentScan):
- 仍然要创建一个servlet,与上面一样区别是不用@WebServlet注解。
再创建一个servlet配置类,并在配置类中添加url
package com.rong.interceptor.servlet;
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;public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("hello");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
}
}
package com.rong.interceptor.config;
import com.rong.interceptor.servlet.MyServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class ServletConfig {@Bean
public ServletRegistrationBean myServletRegistration(){
ServletRegistrationBean registration = new ServletRegistrationBean(new MyServlet());
registration.addUrlMappings("/myservlet");
return registration;
}
}
还没有评论,来说两句吧...