概述
五、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学习笔记(3)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复