Tag: servlets

请求调用session.invalidate()后,request.getSession(false)不返回null

不应该使会话无效导致request.getSession(false)返回null? 在我的注销servlet中,我打电话 session.invalidate(); 在我的登录状态filter中,我打电话 request.getSession(false); 对getSession(false)的调用永远不会返回null,但与返回的会话对象关联的所有属性都为null。 我目前通过搜索空属性来检测用户是否已注销,但这似乎不正确。

如何从HttpServletRequest只获取部分URL?

从以下URL我需要单独获取(http://localhost:9090/dts) 。 那是我需要删除(documents/savedoc) (OR) 需要得到 – (http://localhost:9090/dts) http://localhost:9090/dts/documents/savedoc 是否有任何方法可用于获得上述内容? 我尝试了以下并得到了结果。 但仍在努力。 System.out.println(“URL****************”+request.getRequestURL().toString()); System.out.println(“URI****************”+request.getRequestURI().toString()); System.out.println(“ContextPath****************”+request.getContextPath().toString()); URL****************http://localhost:9090/dts/documents/savedoc URI****************/dts/documents/savedoc ContextPath****************/dts 任何人都可以帮我解决这个问题吗?

servlet中getLocalPort()和getServerPort()之间的区别

我正在研究servlet,我已经想出了getLocalPort()和getServerPort()之间的区别。 这里的getLocalPort()意味着服务器端只有那么getServerPort()的含义是什么? 谢谢。

使Java servlet充当代理的代码?

我有两个Java Web应用程序,它们有一个servlet,它被映射到一个特定的URL: red.war/ WEB-INF/classes com.me.myorg.red.RedServlet (maps to http://red.example.com/doStuff) blue.war/ WEB-INF/classes com.me.myorg.blue.BlueServlet (maps to http://blue.example.com/doStuff) 我想把这些应用程序(我称之为“后端应用程序”)放在“代理应用程序”(servlet)后面,这将决定这两个应用程序中的哪一个最终将服务于客户端请求。 此代理Web应用程序将接收传入的HTTP请求,并确定将请求转发到的2个“后端应用程序”(红色或蓝色)中的哪一个。 然后,请求将转发到http://red.example.com/doStuff (然后由RedServlet#doGet(…) )或http://blue.example.com/doStuff (然后处理)通过BlueServlet#doGet(…) )。 然后,后端应用程序返回的响应(同样, RedServlet#doGet(…)或BlueServlet#doGet(…) )将返回到代理Servlet,最终返回给客户端。 换句话说,在伪代码中: public class ProxyServlet extends HttpServlet { @Override public doGet(HttpServletRequest request, HttpServletResponse response) { String forwardingAddress; if(shouldBeRed(request)) forwardingAddress = “http://red.example.com/doStuff”; else forwardingAddress = “http://blue.example.com/doStuff”; PrintWriter writer = response.getWriter(); writer.write(getResponseFromBackend(forwardingAddress, request)); } […]

Raw Servlet vs. Spring MVC

您应该使用原始Java Servlet或使用Spring MVC(或任何其他框架)构建Web应用程序的原因是什么? 当你应该避免使用Spring MVC时有没有例外,使用Raw Servlets这样做有什么好处?

10个客户端请求Servlet。如何创建多个servlet实例

假设10个客户端请求Servlet。 创建了多少个servlet实例? 如果每个实例都试图进行更改,它还会创建任何并发修改问题吗? 请帮忙。

如何将参数添加到我的Java Servlet的现有HttpServletRequest中?

我想在我的HttpServletRequest的参数映射中添加一个新参数。 以下代码 request().getParameterMap().put(“j_username”, user); request().getParameterMap().put(“j_password”, pwd); 创建此错误 no modifications are allowed to a locked parameter map 这样做的正确方法是什么?

更改HttpServletResponse的编码

我有一个返回XML的API,它实际上使用默认编码返回它(我相信它是UTF-8),但现在需求已经改变,我们需要返回UTF-16LE中的所有内容。 我的问题是:有一种简单的方法吗? 我可以在呼叫完成之前访问响应,所以我想知道我是否可以做类似的事情 //This method does not exist response.setCharacterEncoding(“UTF-16LE”); 非常感谢! 更新:提到的方法是使用的方法。 我使用的是不包含它的servlet API的旧版本(2.3)。 更改版本修复了所有问题。

Java HttpSession属性存储在哪里?

对象是否已序列化并发送给用户并返回每个连接(存储在cookie中)? 或者它们是否存储在服务器堆中,而cookie只是一个非常小的标识符? 有关此主题的任何信息都会有所帮助。 谢谢

如何扫描类注释?

我有一个简单的jane servlets Web应用程序,我的一些类有以下注释: @Controller @RequestMapping(name = “/blog/”) public class TestController { .. } 现在,当我的servlet应用程序启动时,我想获得所有具有@Controller注释的类的列表,然后获取@RequestMapping注释的值并将其插入字典中。 我怎样才能做到这一点? 我也使用Guice和Guava,但不确定是否有任何与注释相关的助手。