springboot 配置 servlet
在Spring Boot中配置Servlet,你可以遵循以下步骤:
- 创建一个Servlet类,例如
MyServlet
,继承自javax.servlet.http.HttpServlet
,并实现相应的doGet()或doPost()方法。
java
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 request, HttpServletResponse response) throws IOException {
// Servlet的处理逻辑
response.getWriter().println("Hello, World!");
}
}
- 创建一个配置类,例如
ServletConfig
,使用@WebServlet
注解来指定Servlet的URL映射路径。
java
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.annotation.WebServlet;
@Configuration
public class ServletConfig {
@Bean
public ServletRegistrationBean<MyServlet> myServletRegistrationBean() {
ServletRegistrationBean<MyServlet> registrationBean = new ServletRegistrationBean<>(new MyServlet(), "/myservlet");
return registrationBean;
}
}
-
在配置类中,将该Servlet注册为
ServletRegistrationBean
的实例,并通过setUrlMappings
方法设置Servlet的URL映射路径。 -
运行你的Spring Boot应用程序,当访问
/myservlet
时,MyServlet
的逻辑将会被执行。
请注意,在Spring Boot中,使用直接的Servlet注解(例如@WebServlet
)可能无法正常工作。因此,我们使用了ServletRegistrationBean
来注册Servlet并映射URL路径。
通过上述步骤,你就可以成功配置并运行Servlet,以处理来自指定URL路径的HTTP请求。记得在你的配置类上加上@Configuration
注解,以确保Spring Boot能够扫描到该配置类。
配置Druid Servlet例子
java
@Configuration
public class DruidConfiguration {
@Bean
public ServletRegistrationBean druidServlet() {
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
// IP白名单 多个,隔开
servletRegistrationBean.addInitParameter("allow", "192.168.2.25,127.0.0.1");
// IP黑名单(共同存在时,deny优先于allow) 多个,隔开
servletRegistrationBean.addInitParameter("deny", "192.168.1.100");
//控制台管理用户
servletRegistrationBean.addInitParameter("loginUsername", "admin");
servletRegistrationBean.addInitParameter("loginPassword", "123456");
//是否能够重置数据 禁用HTML页面上的"Reset All"功能
servletRegistrationBean.addInitParameter("resetEnable", "false");
return servletRegistrationBean;
}
}