Line 0
Link Here
|
0 |
- |
1 |
package org.apache.catalina.ha.context; |
|
|
2 |
|
3 |
import java.io.File; |
4 |
import java.io.IOException; |
5 |
|
6 |
import javax.servlet.ServletException; |
7 |
import javax.servlet.http.HttpServlet; |
8 |
import javax.servlet.http.HttpServletRequest; |
9 |
import javax.servlet.http.HttpServletResponse; |
10 |
|
11 |
import org.apache.catalina.Context; |
12 |
import org.apache.catalina.Host; |
13 |
import org.apache.catalina.LifecycleException; |
14 |
import org.apache.catalina.core.StandardHost; |
15 |
import org.apache.catalina.startup.Tomcat; |
16 |
import org.apache.catalina.startup.TomcatBaseTest; |
17 |
import org.apache.tomcat.util.buf.ByteChunk; |
18 |
import org.junit.Assert; |
19 |
import org.junit.Test; |
20 |
|
21 |
public class TestReplicatedContext extends TomcatBaseTest { |
22 |
|
23 |
@Test |
24 |
public void testBug57425() throws LifecycleException, IOException, ServletException { |
25 |
Tomcat tomcat = getTomcatInstance(); |
26 |
Host host = tomcat.getHost(); |
27 |
if (host instanceof StandardHost) { |
28 |
((StandardHost) host).setContextClass(ReplicatedContext.class.getName()); |
29 |
} |
30 |
|
31 |
File root = new File("test/webapp"); |
32 |
Context context = tomcat.addWebapp(host, "", "", root.getAbsolutePath()); |
33 |
|
34 |
Tomcat.addServlet(context, "test", new AccessContextServlet()); |
35 |
context.addServletMapping("/access", "test"); |
36 |
|
37 |
tomcat.start(); |
38 |
|
39 |
ByteChunk result = getUrl("http://localhost:" + getPort() + "/access"); |
40 |
|
41 |
Assert.assertEquals("OK", result.toString()); |
42 |
|
43 |
} |
44 |
|
45 |
private static class AccessContextServlet extends HttpServlet { |
46 |
|
47 |
private static final long serialVersionUID = 1L; |
48 |
|
49 |
@Override |
50 |
protected void doGet(HttpServletRequest req, HttpServletResponse resp) |
51 |
throws ServletException, IOException { |
52 |
getServletContext().setAttribute("NULL", null); |
53 |
resp.getWriter().print("OK"); |
54 |
} |
55 |
} |
56 |
} |