XML Schema是3.1
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="IDSW" version="3.1">
web容器context-param配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/spring/datasource.xml
classpath*:/spring/spring-context.xml
classpath*:/spring/mybatis-context.xml
classpath*:/spring/service/*
classpath*:/spring/dao/*
</param-value>
</context-param>
过滤器
Spring字符编码过滤器,用来处理中文乱码
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
Druid监控过滤器配置
<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
</init-param>
</filter>
keycloak安全过滤器
<filter-name>SDKFilter</filter-name>
<filter-class>sdk.security.filter.SDKFilter
</filter-class>
<init-param>
<param-name>authzFilter</param-name>
<param-value>false</param-value>
</init-param>
对应的<filter-mapping>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SDKFilter</filter-name>
<url-pattern>/service/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SDKFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
监听器
Spring监听器,自动装载ApplicationContext配置
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Servlet
Spring的Servlet配置
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/spring/mvc-context.xml,classpath*:/spring/controller/*</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
druid监控的servlet配置
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
对应的<servlet-mapping>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/v2/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
浏览器处理格式
<mime-mapping>
<extension>xml</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
默认首页
<welcome-file-list>
<welcome-file>jsp/public/home.jsp</welcome-file>
</welcome-file-list>
错误页面
<error-page>
<error-code>404</error-code>
<location>/jsp/public/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/jsp/public/500.jsp</location>
</error-page>
jsp配置
<jsp-config>
<taglib>
<taglib-uri>/tags/loushang-web</taglib-uri>
<taglib-location>/WEB-INF/tld/loushang-web.tld</taglib-location>
</taglib>
</jsp-config>
安全配置
需要安全限制的web资源
<security-constraint>
<web-resource-collection>
<web-resource-name>All Resources</web-resource-name>
<url-pattern>/service/*</url-pattern>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
不需要安全限制的web资源
<security-constraint>
<web-resource-collection>
<web-resource-name>Exclude Resources</web-resource-name>
<url-pattern>/prediction</url-pattern>
<url-pattern>/jsp/public/signin.jsp</url-pattern>
<url-pattern>/service/api/*</url-pattern>
</web-resource-collection>
</security-constraint>
登录配置
<login-config>
<auth-method>KEYCLOAK</auth-method>
<realm-name>indata</realm-name>
</login-config>
安全角色
<security-role>
<role-name>*</role-name>
</security-role>