1
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2
+ <web-app xmlns =" http://xmlns.jcp.org/xml/ns/javaee"
3
+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi : schemaLocation =" http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
5
+ version =" 4.0" >
6
+
7
+ <display-name >My Secure Web Application</display-name >
8
+
9
+ <servlet >
10
+ <servlet-name >HomeServlet</servlet-name >
11
+ <servlet-class >com.example.servlet.HomeServlet</servlet-class >
12
+ <init-param >
13
+ <param-name >welcomeMessage</param-name >
14
+ <param-value >Welcome to our application!</param-value >
15
+ </init-param >
16
+ <load-on-startup >1</load-on-startup >
17
+ </servlet >
18
+
19
+ <servlet >
20
+ <servlet-name >ProductServlet</servlet-name >
21
+ <servlet-class >com.example.servlet.ProductServlet</servlet-class >
22
+ <init-param >
23
+ <param-name >productServiceUrl</param-name >
24
+ <param-value >http://api.example.com/products</param-value >
25
+ </init-param >
26
+ </servlet >
27
+
28
+ <servlet-mapping >
29
+ <servlet-name >HomeServlet</servlet-name >
30
+ <url-pattern >/home</url-pattern >
31
+ <url-pattern >/</url-pattern > </servlet-mapping >
32
+
33
+ <servlet-mapping >
34
+ <servlet-name >ProductServlet</servlet-name >
35
+ <url-pattern >/products/*</url-pattern > </servlet-mapping >
36
+
37
+ <filter >
38
+ <filter-name >LoggingFilter</filter-name >
39
+ <filter-class >com.example.filter.LoggingFilter</filter-class >
40
+ <init-param >
41
+ <param-name >logLevel</param-name >
42
+ <param-value >INFO</param-value >
43
+ </init-param >
44
+ </filter >
45
+
46
+ <filter >
47
+ <filter-name >AuthenticationFilter</filter-name >
48
+ <filter-class >com.example.filter.AuthenticationFilter</filter-class >
49
+ </filter >
50
+
51
+ <filter-mapping >
52
+ <filter-name >LoggingFilter</filter-name >
53
+ <url-pattern >/*</url-pattern >
54
+ <dispatcher >REQUEST</dispatcher >
55
+ <dispatcher >FORWARD</dispatcher >
56
+ </filter-mapping >
57
+
58
+ <filter-mapping >
59
+ <filter-name >AuthenticationFilter</filter-name >
60
+ <servlet-name >ProductServlet</servlet-name >
61
+ <dispatcher >REQUEST</dispatcher >
62
+ </filter-mapping >
63
+
64
+
65
+ <security-constraint >
66
+ <display-name >Admin Area Constraint</display-name >
67
+ <web-resource-collection >
68
+ <web-resource-name >Admin Pages</web-resource-name >
69
+ <url-pattern >/admin/*</url-pattern >
70
+ <!-- ruleid: security-constraint-http-method -->
71
+ <http-method >GET</http-method >
72
+ <!-- ruleid: security-constraint-http-method -->
73
+ <http-method >POST</http-method >
74
+ </web-resource-collection >
75
+ <auth-constraint >
76
+ <role-name >admin</role-name >
77
+ </auth-constraint >
78
+ </security-constraint >
79
+
80
+ <security-constraint >
81
+ <display-name >Secure Connection Constraint</display-name >
82
+ <web-resource-collection >
83
+ <web-resource-name >HTTPS Required Pages</web-resource-name >
84
+ <url-pattern >/secure/*</url-pattern >
85
+ </web-resource-collection >
86
+ <user-data-constraint >
87
+ <transport-guarantee >CONFIDENTIAL</transport-guarantee >
88
+ </user-data-constraint >
89
+ </security-constraint >
90
+
91
+ <login-config >
92
+ <auth-method >FORM</auth-method >
93
+ <realm-name >MyWebAppRealm</realm-name >
94
+ <form-login-config >
95
+ <form-login-page >/login.jsp</form-login-page >
96
+ <form-error-page >/login-error.jsp</form-error-page >
97
+ </form-login-config >
98
+ </login-config >
99
+
100
+ <security-role >
101
+ <description >Administrator Role</description >
102
+ <role-name >admin</role-name >
103
+ </security-role >
104
+ <security-role >
105
+ <description >User Role</description >
106
+ <role-name >user</role-name >
107
+ </security-role >
108
+
109
+ <welcome-file-list >
110
+ <welcome-file >index.html</welcome-file >
111
+ <welcome-file >index.jsp</welcome-file >
112
+ <welcome-file >default.html</welcome-file >
113
+ </welcome-file-list >
114
+
115
+ <error-page >
116
+ <error-code >404</error-code >
117
+ <location >/errors/404.html</location >
118
+ </error-page >
119
+ <error-page >
120
+ <exception-type >java.lang.Throwable</exception-type >
121
+ <location >/errors/general-error.html</location >
122
+ </error-page >
123
+
124
+ </web-app >
0 commit comments