`
退役的龙弟弟
  • 浏览: 444929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在类中获取得到路径,request,response,session

 
阅读更多
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";
	}
}

 

分享到:
评论

相关推荐

    新闻发布系统

    // 发送错误代码500(内部代码错误)及提示信息,可在web.xml中定制报错页面 return; } switch (opr) { case "addTopic": // 添加主题操作: ...

    计算机二级Web程序设计模拟卷(二).doc

    在Servlet中,下列语句可以正确获取PrintWriter对象的是() A.PrintWriterout=request.getWriter(); B.PrintWriterout=request.getPrintWriter(); C.PrintWriterout=response.getWriter(); D.PrintWriterout=response...

    java-servlet-api.doc

    当你的应用存储数据到Session中,或从Session中清除数据,Servlet都会通过HttpSessionBindingListener检杳什么类被绑定或被取消绑定。这个接口的方法会通报被绑定或被取消绑定的对象。 绪言 这是一份关于2.1版...

    java 面试题 总结

    知道其行为的其它类可以在类中实现这些方法。 接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以...

    网优必看5G接通率优化.docx

    参数错误涉及的流程:Initial Context Setup Request、PDU session response setup request、PDU session response modify response,可能造成消息携带的QoS Flow Setup Request List中QoS Flow异常释放。...

    超级有影响力霸气的Java面试题大全文档

    知道其行为的其它类可以在类中实现这些方法。  接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以...

    How Tomcat Works: A Guide to Developing Your Own Java Servlet Container

    8.5.3 设置类路径 56 8.5.4 设置访问权限 56 8.5.5 开启新线程执行类的重新载入 56 8.6 WebappClassLoader类 57 8.6.1 类缓存 58 8.6.2 载入类 59 8.6.3 应用程序 59 第9章 session管理 62 9.1 概述 62 9.2 Sessions...

    how-tomcat-works

    8.5.3 设置类路径 56 8.5.4 设置访问权限 56 8.5.5 开启新线程执行类的重新载入 56 8.6 WebappClassLoader类 57 8.6.1 类缓存 58 8.6.2 载入类 59 8.6.3 应用程序 59 第9章 session管理 62 9.1 概述 62 9.2 Sessions...

    企业运营后台之数据安全.pdf

    为了能够将request/response匹配到用户,实现更细粒度的监测、告警,挖土选择了通过setcookie的方式,将加密后的用户信息埋在session cookie中,从而实现了从请求到用户的关联追溯。 数据泄漏现状 运营后台溯源/分析...

    教学、学习必备:jsp教案

    2.3.5在JavaScript中创建新对象 62 2.3.6 JavaScript对象系统的使用 66 2.3.7JavaScript窗口及输入输出 72 2.3.8Web应用经典案例研究 86 第3章 JSP标记 89 3.1 指令标记PAGE 89 3.2 指令标记INCLUDE 92 3.3 动作标记...

    JAVAWeb全课程笔记( html版)

    Request&Response编程 Cookie&Session XML语言 JSP技术入门 EL表达式语言 JSTL标签库: JSP标准标签库 MVC程序架构思想&案例 [总结]Path路径问题 [总结]JavaWeb乱码问题 [转自IBM]中文编码问题 JDBC入门 Jdbc事务...

    jsp内置对象的用法

    客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。 序号 方 法 说 明 1 object getAttribute(String name) 返回指定属性的属性值 2 ...

    JFreeChart报表及其实例

    基于JFreeChart的jsp图表实例 根目下JFreeChart/有报表教程.doc文件 另外提一下根据我对教程的学习和实践,我认为实例有一个错误: 就是最后生成JFreeChart...就能生成报表,其中ChartUtilities类在org.jfree.chart包下

    Baby Web Server v2.7.2.zip

    Baby Web Server 是一个非常小巧玲珑的网络服务器,支持Html,还支持ASP部分功能(Request,Response,Server,QueryString and Form collections, Global.asa, Session and Application objects及其他)、更支持Cookie、...

    ASP.NET 考试试题

    1.Page,Response,Request,Session,Application,Cookie,Server 2.统一资源定位符 3.runat="server" 4.是否响应服务器事件,值为true/false; 5.获取文件对象绝对路径 6.返回SQL语句影响行数,值为int型

    在线考试系统

    Session["LoginUser"] = this.txtName.Text; string strRedirect; //表单验证所指定的路径 strRedirect = Request["ReturnUrl"]; //表单验证 System.Web.Security.FormsAuthentication.SetAuthCookie(this....

    轻量级java web MVC框架

    容器在启动时候,会将com.mvc.controller下所有映射路径绑定处理方法上,假如在扫描包中定义下列类: import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; import javax.servlet.http.Cookie; ...

    ssh(structs,spring,hibernate)框架中的上传下载

     文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...

    ASP内置对象的使用

    (1)从控制面板-管理工具里打开Internet信息服务,在左侧树形目录中找到默认网站,用鼠标右键单击,打开属性窗口,在主目录中将本地路径设置为自己建的文件夹; (2)在Dreamweaver中新建站点(站点名字任取,HTTP...

    jsp servlet 入门学习资料-新手一看就懂

    6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 <jsp:forward> 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和...

Global site tag (gtag.js) - Google Analytics