package com.ru.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import org.hibernate.SessionFactory; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.ru.service.interfaces.TestServiceInterface; public class TestAction extends ActionSupport { /** * 声明变量 * @remark 所有变量,常量 * */ private SessionFactory sessionfactory; private TestServiceInterface testService; public TestServiceInterface getTestService() { return testService; } public void setTestService(TestServiceInterface testService) { this.testService = testService; } public SessionFactory getSessionfactory() { return sessionfactory; } public void setSessionfactory(SessionFactory sessionfactory) { this.sessionfactory = sessionfactory; } /** * 测试action得到路径,request,response,session * @remark 在service和dao类中得到requsest,response,和session的方法相同 * */ public String getPath(){ /** * 得到request的方法 * */ HttpServletRequest request = ServletActionContext.getRequest(); /** * 得到response的方法 * */ HttpServletResponse response = ServletActionContext.getResponse(); /** * 得到session的到方法 * */ //第一种 HttpSession session = ServletActionContext.getRequest().getSession(); session.setAttribute("nan", "456"); session.setMaxInactiveInterval(10*60);//单位秒 //第二种(这种写入session信息,但是) ActionContext.getContext().getSession().put("ru", "123"); String msg = (String) ActionContext.getContext().getSession().get("ru"); System.out.println("第一种session:"+testService.getSession()+"\n第二种得到map里的信息:"+msg); /** * 得到web系统url路径的方法 * */ //得到web的url路径:http://localhost:8080/ssh1/ String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+ ":"+request.getServerPort()+path+"/"; System.out.println("当前webURL路径:"+basePath+"---web路径:"+path); /** * 得到文件的绝对路径 * @remark 所谓的真是路径即使在原路径前面加上web系统的路径,如果要找到在tomcat中的路径,需要注意 * @remark D:\ProgramFiles\apache-tomcat-6.0.20-8.5\webapps\ssh1\WEB-INF\classes\com\ru\.util\test.properties * */ String path2 = ServletActionContext.getRequest(). getRealPath("/WEB-INF/classes/com/ru/util/test.properties"); System.out.println("文件真实路径:"+path2); /** * 得到类文件路径 * @remark /D:/ProgramFiles/apache-tomcat-6.0.20-8.5/webapps/ssh1/WEB-INF/classes/com/ru/tuil/test.properties * */ String rootPath = TestAction.class.getResource("/").getPath();//得到calsses的路径 String path3=rootPath+"com/ru/util/test.properties"; System.out.println(path3); /** * 得到远程IP * */ String IP = request.getRemoteAddr(); System.out.println("远程IP:"+IP); return "testOk"; } }
相关推荐
标题中的“访问或添加三个范围的属性与获取Request-Session-ServletContext-Response对象”指的是在Java Web开发中,如何操作四个重要的请求处理对象:HttpServletRequest(Request)、HttpSession(Session)、...
在Laravel框架中,Request、Response和Session是三个核心组件,它们在处理HTTP请求和响应时扮演着关键角色。下面将详细介绍这三个概念及其在实际应用中的操作方法。 **Request操作** 1. **取值**:`Request`对象...
4. Servlet 在执行 service()方法时,可以通过 request 获取请求数据,也可以将处理结果存放到 response 上。 5. 服务器与响应对象直接形成一个默契,生成一个响应数据包给浏览器。 6. 浏览器解析服务器返回的响应...
在IT行业中,Session是一个非常重要的概念,特别是在Web开发领域。Session是服务器端用来跟踪用户状态的一种机制,它允许服务器在多个请求之间保持用户的特定信息。本文将深入探讨Session的实例,以及如何在Eclipse...
4. **Request与Response对象**:在ASP中,Request对象用于获取客户端发送的数据,如表单数据、URL参数等;Response对象则用于向客户端发送数据,如HTML内容、HTTP头信息等。 5. **Application对象与Session对象**:...
在Java Web开发中,Servlet是核心的服务器端组件,它负责处理HTTP请求并生成响应。Request对象,全称为...在实际项目中,经常需要结合Response、Session和其他域对象一起使用,以实现更复杂的业务逻辑。
本文将详细介绍如何在Java Web项目中设置和使用Session监听器,以及如何根据Session ID获取Session。 首先,为了实现Session监听,我们需要创建一个实现了`javax.servlet.http.HttpSessionListener`接口的类。这个...
通过`session.setAttribute(String name, Object value)`可以将对象存储在Session中,`session.getAttribute(String name)`用于获取数据。当不再需要Session时,调用`session.invalidate()`注销Session。 - **生命...
本文将基于提供的文件内容,深入探讨Servlet中Session的工作原理、如何实现Session的跟踪机制以及Session在实际应用中的作用。 #### Session概述 在Web应用程序中,HTTP协议本身是一种无状态的协议,这意味着...
在JSP页面中,Request对象常用于获取表单数据,如下所示: ```jsp ;charset=UTF-8" language="java" %> request.setCharacterEncoding("UTF-8"); String username = request.getParameter("username"); String ...
通过实现Session拦截器,可以在请求被处理之前检查Session中是否存在必要的用户信息,如果不存在,则可以重定向到登录页面或返回错误信息。 3. **创建Session拦截器** 首先,我们需要创建一个实现了`...
在Java中,创建Cookie对象使用`new Cookie(String name, String value)`,然后通过`response.addCookie(Cookie cookie)`将其添加到响应中,发送给客户端。 2.3 获取Cookie 通过`request.getCookies()`获取所有...
**Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制采用了客户端保持状态的方案。这意味着用户的浏览器将存储特定的...
在Java Web开发中,Cookie和Session是两种非常重要的会话管理技术,它们主要用于跟踪和管理用户的状态信息。本文将深入探讨Cookie和Session的工作原理、应用场景以及如何在Java Web项目中进行有效利用。 **Cookie**...
本文将深入探讨在Django views中处理`request`和`response`对象的常见操作。 首先,`request`对象包含了客户端发送的所有信息,如HTTP头、POST数据、GET参数等。在Django中,`request`通常是`HttpRequest`类的一个...
由于默认的jsessionid Cookie没有设置有效期,它会在浏览器关闭时从内存中删除,导致Session失效。 6. **乱码问题**: - 解决中文乱码问题,对于POST请求,可以使用`request.setCharacterEncoding("gbk")`设定请求...
这段JS代码获取当前页面的路径,然后通过参数传递给`do.asp`,在`do.asp`中,通过`Request("p")`即可获取404之前的页面路径,从而进行进一步的操作。另外,这种方法可以避免在404页面直接处理,而是通过IFRAME或者...
在本教程中,我们主要关注C#语言下的四个关键对象:Response、Request、Server和Session,以及Cookie对象。 1. **Response对象**: Response对象代表了服务器对客户端浏览器的响应。它允许开发人员向浏览器发送...
### Cookie与Session的区别及其在用户登录中的应用 #### 前言 在现代Web开发中,维护用户会话状态是一项非常重要的任务。其中,Cookie和Session是两种最常用的技术手段,用于跟踪用户的浏览活动和存储用户的信息。...
在Web开发中,会话管理是一项重要的技术,它负责维护用户与服务器之间交互的数据。通常,这种交互包括用户的登录状态、购物车中的商品信息等。为了实现这些功能,Web开发人员常使用两种主要的技术:Cookie与Session...