`

用户请求动作

阅读更多
/**
 * 用户请求动作
 * @author RuiLin.Xie - xKF24276
 */
public class BaseAction extends HttpServlet
{

	/**
	 * 序列号
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * 处理Get
	 */
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		initCookie(req, resp);
		
		//根据用户请求解析出用户动作及提交参数
		RequestPackage rp = ActionBizFactory.getActionBizFactory().reqToRequestPackage(req, resp);
		
		System.out.println(rp.getAction());
		if(rp.getAction().startsWith("PoseStaticPage") || rp.getAction().length() == 0 || rp.getAction().equals("index"))
			req.getRequestDispatcher("index.jsp").forward(req, resp);
		
		//执行业务并响应用户
		ActionBizFactory.getActionBizFactory().exec(rp);
	}

	/**
	 * 处理POST
	 */
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		doGet(req, resp);
	}

	
	/**
	 * 读取配置文件初始化配置
	 */
	public void init() throws ServletException
	{
		//得到配置文件路径
		String filePath = this.getServletConfig().getServletContext().getRealPath("/"); 
		filePath = filePath + "WEB-INF\\action.conf";

		//初始化到ActionBizFactory 的 actionMap
		
		super.init();
	}
	
	/**
	 * 初始化Cookie,防止非法下载
	 * @param request
	 * @param response
	 */
	private void initCookie(HttpServletRequest request, HttpServletResponse response)
	{		
		Object oFurl = request.getSession().getAttribute("FURL");
		String ccookie = request.getHeader("Cookie");
		
		if(oFurl == null || ccookie.indexOf("FURL") == -1)
		{			
			//加密URL
			String fromUrl = request.getRequestURL().toString();
			
			Cookie cookie = new Cookie("FURL", fromUrl);
			response.addCookie(cookie);
			request.getSession().setAttribute("FURL", fromUrl);
			
		}
	}

}
分享到:
评论

相关推荐

    win定时请求网址

    用户可能需要运行这个文件来安装或启动应用,然后根据需要设置定时任务,包括设定请求间隔、目标URL、请求方法(GET或POST)以及可能需要传递的参数。 在实际应用中,"win定时请求网址"可能包含以下功能: 1. **...

    国聿ITILBASE II软件—邮件转请求的操作文档

    此外,请求的每一次更新或动作,软件都提供了邮件通知选项,用户可以选择是否通过电子邮件通知请求人和其他相关人员,保持沟通的透明度。 4. **请求管理与跟进**:转化后的请求会被收录至请求列表,工程师或服务台...

    Ajax与Struts2异步请求数据

    通过配置Struts2拦截器、使用JSON插件以及编写适当的动作类和前端页面,开发者可以轻松实现异步数据请求和更新。这种技术在现代Web应用中广泛使用,特别是在需要动态加载数据的场景下,如分页、搜索结果展示等。

    HTTP请求流程

    当用户在浏览器地址栏输入URL并按下回车键后,会触发一系列的动作。整个过程大致分为以下几个步骤: 1. **域名解析**:将输入的URL中的域名转换为IP地址。这一步通常通过DNS(Domain Name System)查询完成。 2. **...

    http请求,http get请求,http post请求

    请求行包括方法(GET或POST)、URL和HTTP版本,请求头包含各种信息,如用户代理、接受类型等,空行分隔请求头与请求体,请求体则用于POST请求携带数据。 二、GET请求 GET是最常见的HTTP请求方法,主要用于获取资源...

    低速用户迁出专网功能优化-支持重定向动作原理.pptx

    这个开关的启用意味着在1秒钟内,基站可以处理最多10个用户的切出请求,相比于之前的1个用户,大大提升了处理速率。配置命令`MOD CELLALGOSWITCH:LocalCellId=0,HighSpeedSchOptSwitch=LowSpeedBlindRedirect-1;`...

    网络游戏-请求网络数据的方法及装置.zip

    这一过程涉及到玩家与服务器之间的通信,确保游戏状态的实时更新,如角色动作、道具交换、地图变化等。本篇将重点解析"网络游戏-请求网络数据的方法及装置"的核心概念,并提供相关的技术细节。 网络游戏中的网络...

    十三、JSP动作

    利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。 JSP动作包括: jsp:include:在页面被请求的时候引入一个文件。 jsp:useBean:寻找或者实例化一个JavaBean...

    请求如何进入ASP.NET MVC框架

    请求在进入*** MVC框架的处理流程是,首先由请求进入Web服务器,然后通过路由机制被解析和映射到相应的控制器(Controller)及其动作方法(Action)上。在控制器中处理完毕后,最后将响应返回给用户。 在传统*** ...

    网络请求返回码

    这类状态码表示需要客户端采取进一步的动作才能完成请求。 - **300 Multiple Choices**: 针对请求,服务器可操作多个动作,由客户端选择。 - **301 Moved Permanently**: 请求的页面已永久移动到新位置。 - **302 ...

    ios 数据请求框架 图片请求框架 刷新框架 kvc框架,进度条框架

    它可以自动管理和触发刷新动作,开发者只需简单地调用相关API即可实现。另一款类似框架是UIRefreshControl,它是苹果官方提供的下拉刷新控件,但功能相对简单。 4. **KVC框架**:Key-Value Coding(KVC)是...

    JSP 动作元素

    利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。 动作元素只有一种语法,它符合XML标准: 动作元素基本上都是预定义的函数,JSP规范定义了一系列的标准...

    magento2 请求流 中文 翻译

    在 Magento 2.0 中,请求流是应用程序的核心机制,它描述了从用户在浏览器中输入 URL 到页面最终渲染出来的整个过程。本篇文章将详细解读 Magento 2.0 请求流的每一步,帮助你理解这个复杂但至关重要的系统。 首先...

    WEB请求的各种状态码对应

    - 用户请求服务器索引指定的部分,但是服务器无法返回用户所需的内容。 - **417 Expectation Failed** - 服务器不能满足期望请求头字段的要求。 5. **5xx - 服务器错误状态码** - 这些状态码表明服务器在尝试...

    zend framwork2 入口文件已经请求原理分析

    - **默认请求**: 当没有任何特定路由或参数时,框架会按照预设的默认控制器和动作处理请求,即默认模块(通常是`default`)的`IndexController`的`indexAction`。这就是为什么在没有指定任何路径的情况下,浏览器会...

    SSH框架实现的用户注册功能(可运行)

    在用户注册场景中,它定义了用户的操作(如注册、提交等)对应的动作类,这些动作类会处理用户请求并调用业务逻辑。通过Struts2的拦截器机制,我们可以添加验证规则,确保用户输入的数据符合要求。 其次,Spring...

    用JSP+MySQL做的用户管理系统

    当用户提交请求时,Servlet接收请求,处理后返回数据,JSP再将这些数据显示在页面上。 总结来说,这个"JSP+MySQL用户管理系统"是一个典型的Web应用示例,它结合了前后端技术,实现了用户身份验证、权限控制以及数据...

    流媒体点播中用户交互式行为建模1

    用户在流媒体点播应用中的行为特征是设计流媒体分发方案的基础,而研究用户行为特征的主要手段是建立用户行为记录的生成模型,模拟用户发起各种动作的机制。 现有的流媒体点播用户行为模型对用户的变互性考虑不足。...

    电信设备-基于转移动作评估学习框架的基站缓存管理方法及系统.zip

    在基站缓存管理中,RL框架可以理解为基站作为一个智能代理,根据用户请求、网络状态等因素,动态调整其缓存策略,以提高数据传输效率和用户满意度。 该方法的实现通常包括以下几个步骤:状态定义、动作选择、奖励...

Global site tag (gtag.js) - Google Analytics