Action 类中访问Servelt API

package com.yu;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class LoginCounterAction extends ActionSupport{

/**

*

*/

private static final long serialVersionUID = 1L;

private String userName;

private String userPassword;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getUserPassword() {

return userPassword;

}

public void setUserPassword(String userPassword) {

this.userPassword = userPassword;

}

public String counter(){

//获取当前 ActionContext对象

ActionContext context=ActionContext.getContext();

/*String yu="21312";

context.getApplication().put("yu", yu);*/

String appCounter=(String)context.getApplication().get("appCounter");

if(appCounter==null){

appCounter="1";

}else{

appCounter=Integer.toString((Integer.parseInt(appCounter)+1));

//System.out.println(appCounter);

}

context.getApplication().put("appCounter", appCounter);

if(userName!=null){

String sessionCounter=(String) context.getSession().get("sessionCounter");

if(sessionCounter==null){

sessionCounter="1";

}else{

sessionCounter=Integer.toString((Integer.parseInt(sessionCounter)+1));

//System.out.println(sessionCounter);

}

context.getSession().put("sessionCounter", sessionCounter);

return "success";

}else{

return "error";

}

}

}

<body>

<form action="/Chapter1/login.action" method="post">

账号<input type="text" name="userName" >

密码<input type="password" name="userPassword">

<input type="submit" value="登录">

</form>

</body>

<body>

恭喜${userName},您登陆成功! <br>

您是第${sessionScope.sessionCounter} 次访问本网站!<br>

本网站被访问了${applicationScope.appCounter} 次!<br>

</body>

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3

//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<package name="logincode"  extends="struts-default">

<action name="login" class="com.yu.LoginCounterAction" method="counter">

<result name="success">/Test1/loginSuccess.jsp</result>

<result name="error">/Test1/loginFail.jsp</result>

</action>

</package>

</struts>

时间: 2024-10-28 11:22:46

Action 类中访问Servelt API的相关文章

struts2中访问servlet API

Struts2中的Action没有与任何Servlet API耦合,,但对于WEB应用的控制器而言,不访问Servlet API几乎是不可能的,例如需要跟踪HTTP Session状态等.Struts2中提供了一个ActionContext类,Struts2的Action可以通过该类来访问Servlet API. ActionContext类中包含的几个常用方法: Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(Str

5.struts2中Action类中获取ServletAPI的三种方式

**Servlet的API的访问(开发中偶尔会使用到)** 1.在Action类中也可以获取到Servlet一些常用的API,有如下三种方式获取 * 完全解耦合的方式 * 使用接口注入的方式 * 使用ServletActionContext中静态方法直接访问Servlet的API * 需求:提供JSP的表单页面的数据,在Action中使用Servlet的API接收到,然后保存到三个域对象中,最后再显示到JSP的页面上. * 提供JSP注册的页面,演示下面这三种方式: <h3>注册页面</

关于“在本类中访问本类私有静态变量”的一点疑惑解析

关于"在本类中访问本类私有静态变量"的一点疑惑解析 代码如下: public class StaticVar { private static int x = 100; public static void main(String[] args) { StaticVar var1 = new StaticVar(); var1.x++; StaticVar var2 = new StaticVar(); var2.x++; StaticVar.x++; System.out.print

在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法

在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法 ==========方法1: --------1. 选相应的checkbox后  点删除按钮------------- <!-- *******************删除******************* -->     <input type="image" alt="delete"      src=&

Action类中获取request等对象的方法

struts2中的action类中,SevletActionContext可以获取 session对象则通过ActionContext.getContext().getSession().put("name",value);存放值  ActionContext.getContext().getSession().get("name"); 获取值

关于C++类中访问权限的若干疑问(虚函数访问权限)

下面这样一个程序:(以下程序都是在VS2010下实现) 1: class Base 2: { 3: public: 4: virtual void func() 5: { 6: cout<<"Base virtual func"<<endl; 7: } 8: }; 9: 10: class Derived: public Base 11: { 12: private: 13: virtual void func() 14: { 15: cout<<&

使用ServletActionContext类直接访问Servlet API

Struts2提供了借助ServletActionContext类访问Servlet API.ServletActionContext中的方法是静态的方法 访问Servlet API的方法主要有如下几个: static PageContext getPageContext()      用于访问Web应用的pageContext对象,对应JSP的page static HttpServletRequest getRequest()   用于访问Web应用的HttpServletRequest对象

MFC如何在CMainFrame类中访问CxxxView视图类中的成员

在视图类中,我们可以通过调用AfxGetMainWnd()函数得到框架窗口的指针. 注意,需要在view类实现部分添加#include "MainFrm.h". 1 CMainFrame* pMFram = (CMainFrame*)AfxGetMainWnd(); 如果想在框架窗口中想调用CxxxView类中的函数,也需要得到相应View视图类的指针. 但是需要注意,这里不仅得包含xxxView.h,还需要包含xxxDoc.h头文件, 还需要注意头文件的顺序,先包含Doc.h,再包含

如何在WebSocket类中访问Session

我最近正在做一个基于websocket的webQQ,最后代码会开源带github上,所以过程中我就不贴所有的代码啦~就贴问题的关键. 首先先搞清一个流程:WebSocket在建立连接时第一步其实是以HTTP协议的面目进行握手的: 1.客户端发送websocket请求,此时发送的还是http包. 2.如果服务器支持websocket,那么就将http转变为websocket. 3.此时连接建立,服务器和客户端可以双向实时进行通信. 那么我们该怎么拿到HttpSession呢?观察上面整个过程发现只