Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 973|回复: 0

第一个struts2.0--自我总结

[复制链接]

该用户从未签到

发表于 2011-10-16 17:15:40 | 显示全部楼层 |阅读模式
前天晚上接触了框架,花了一天的时间实现了struts2.0的第一个helloworld

首先总结一下struts2.0的工作机制

struts2.0通过拦截去来拦截所有浏览器提交的请求!这个需要在web.xml里面进行一些简单的配置
在新建了一个web工程后,我们需要导入struts2.0的五个基本包,也可以直接将这五个包复制到lib文件夹下面!
然后开始配置web.xml,首先是创建一个过滤器,<filter></filter>这个标签下面有两个子标签,分别是<filter-name>和<filter-

class>顾名思义,第一个是过滤器的名字,第二个是实现这个功能的类!
创建完了过滤器后腰要创建一个过滤器的映射来拦截这些请求。<filter-mapping>这个标签同样也是有两个子标签,<filter-name>

和<url-pattern>前者代表过滤器的名字,后者是映射,一般是将<url-pattern>的内容设置为/*,/*的意思是拦截一切请求
到这里就配置完了web.xml了

下面就那个例子来分解一下

我们新建一个web工程,我们这个工程的目的实现一个简单的用户登录。比较简单

我们通过Login.Action这个类来创建action
public class LoginAction {
String name = "";
String pwd = "";
public String getName() {
  return name;
}
public void setName(String name) {
  this.name = name;
}
public String getPwd() {
  return pwd;
}
public void setPwd(String pwd) {
  this.pwd = pwd;
}
public String execute(){
  if(this.name.equals("chaichai")&&this.pwd.equals("haha")){
   return "go";
  }else{
   return "back";
  }
}
}
这是这个类的代码。execute这个方法就是这个类的核心方法,方法的名字一般都是这个,不能变,因为习惯问题!也可以改,不过

还需要配置一些文件!
接下来在webroot文件夹下新建三个jsp页面,index.jsp Login.jsp Loginout.jsp 第一个页面时登录页面,第二个是成功登录,第

三个是登录失败后转向的页面
下面就要配置一个新的xml文件,struts.xml这个文件的名字一定要是struts要不然就会出错!

下面是文件内的内容:
<?xml version="1.0" encoding="UTF-8"?>
这是xml的版本号
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
这个是dtd文件 只有引入dtd文件后这个xml文档才是一个有效的文档!
<struts>
<include file="struts-default.xml" />
这句是引入struts-default.xml,一般struts.xml会默认的继承两个,一个就是struts-default,还有一个是struts-plugins 好像

是这个,知道就行啦!
<package name="hello" extends="struts-default">
包的名字,我现在也不太明白,我运行的时候我改了成了两个不同的名字,都可以正常的运行!
   <action name="Login" class="com.me.LoginAction">
这个是action的关键,name这个action的名字,是唯一标记这个action的,如果在提交表单的时候需要使用哪个action来处理就需要

用到这个名字了,class是实现这个action的类,
    <result name="go" >Loginin.jsp</result>
    <result name="back" >Loginout.jsp</result>
result标签就简单了,我们一般在action类里面的execute方法里面,都是返回一个字符串,result标签通过返回的字符串的不同来

实现页面的重定向!
   </action>
</package>
</struts>
现在这个文件的配置就完毕了,现在就可以运行这个简单的登录了!
回复

使用道具 举报

该用户从未签到

发表于 2011-10-31 11:01:12 | 显示全部楼层
谢谢楼主分享啊。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-20 03:50 , Processed in 0.323282 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表