Struts2学习笔记(3)
来源:互联网 发布:township无限绿钞mac 编辑:程序博客网 时间:2024/05/16 14:48
五、Struts2请求扩展名问题
配置Struts2可以受理请求的扩展名
<constantname=”struts.action.extension” value=”action,do,…”></constant>
可以通过设置value里面的值来配置。Struts2默认的扩展名是action。
六、struts2示例代码
登录->统计线人数(登录用户名)->退出减少在线人数(只实现功能,未考虑过多逻辑问题)
Struts配置:
<struts>
<constantname="struts.action.extension"value="action,do,"></constant>
<package name="login"extends="struts-default">
<action name="login">
<result>/login.jsp</result>
</action>
<action name="userlogin"class="com.yaorange.struts.userlogin.UserLoginAction">
<resultname="success">/loginSuccess.jsp</result>
</action>
<action name="loginOut"class="com.yaorange.struts.userlogin.UserLoginAction"
method="loginOut">
<resultname="loginOut">/loginSuccess.jsp</result>
</action>
</package>
</struts>
首页:
<ahref="login.do">登录页面</a>
登录页面:
<formaction="userlogin.do">
username:<inputtype="text" name="username"/>
<br>
password:<inputtype="password" name="password"/>
<br>
<input type="submit"value="登录"/>
</form>
Action类:
public classUserLoginAction implements SessionAware,ApplicationAware{
private Map<String, Object>application;
private Map<String, Object> session;
private String username;
private String password;
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String execute(){
//获取session
//username和password的值是通过Action类中set方法注入
session.put("username",username);
session.put("password",password);
System.out.println("username:"+username+"password:"+password);
//获取在线总数
Integer counts =(Integer)application.get("counts");
//登录后判断counts是否为空,不为空加1,为空置为1
if(counts!=null){
counts++;
}else{
counts=1;
}
//再将counts放回
application.put("counts",counts);
return "success";
}
@Override
public void setApplication(Map<String,Object> application) {
this.application=application;
}
@Override
public void setSession(Map<String,Object> session) {
this.session=session;
}
public String loginOut(){
Integer counts =(Integer)application.get("counts");
//判断counts是否为空并且大于零,成立减一
if(counts!=null &&counts>0){
counts--;
application.put("counts",counts);
}
//清空session
((SessionMap)session).invalidate();
return "loginOut";
}
}
成功页面:
<h3>登录成功</h3>
<br>
欢迎用户:${sessionScope.username}
<br>
在线人数:${applicationScope.counts}
<br>
<a href="loginOut">退出登录</a>
- Struts2学习笔记(3)-----Struts2入门
- Struts2学习笔记(3)
- Struts2学习笔记(3)
- struts2学习笔记(3)
- Struts2学习笔记(3)
- struts2学习笔记3
- Struts2 学习笔记 3
- Struts2 学习笔记3
- Struts2的学习笔记(3)
- struts2学习笔记(3)-------配置Action
- Struts2学习笔记(3)之国际化
- struts2学习笔记(二) 初识Struts2
- struts2学习笔记(二) 初识Struts2
- 【Struts2学习笔记(12)】Struts2国际化
- Struts2学习笔记(一)搭建struts2
- Struts2学习笔记(1)-Struts2概览
- Struts2学习笔记(一)
- Struts2学习笔记(二)
- 域控制器的角色转移
- linux使用date解析unix时间戳
- 背景渐变色,兼容IE
- 封装、继承、多态
- 如何解决PHP查询大量数据内存耗尽的问题
- Struts2学习笔记(3)
- log4j2打印出spring和struts2的日志
- ARM寄存器详解
- 设计模式之单例模式
- Android中的模式:Builder模式的优点赏析
- 383. Ransom Note
- Linux下命令学习日志
- Mysql忘记root密码及密码修改
- android的getView()、getItem()、notifyDataSetChanged()函数