Loading...

java .net

开始学习struts2

今天第一次感觉到经济危机在我身边了,部门现在没有在做的项目了
经济危机中,赶紧为自己充充电,好到时候柳暗花明又一村,哈哈
学struts2
据说struts2基于webwork,基本上跟struts1没啥关系,如果有webwork的经验上手会很迅速
我没接触过webwork,就知道有这么个东西
今儿开始第一个struts
见过好多blog写有struts2的入门步骤,俺也写一个,为自己造个轮子,加深印象。
首先下载struts2的jar包,到http://struts.apache.org/,右上角有个struts2的链接,今天下到的是
struts2的2.0.14,昨天在javaeye上看到发布Struts2.1.3 发布了,只是主页还没看到,不止一次听大拿们说过不要追求新版本,哈哈
下载后的目录:app--struts的例子
              docs-doc文档
              lib-struts的jar包或依赖包
              src-源码
HelloWorld:

1、index.jsp
  耳目一新的是,不需要用到struts html标签,这只是猜测,或许例子过于简单?今天工作中还感觉struts1的html标签真是不好用,想加个class、maxlength、size都不好使,让我很是郁闷。希望在继续学习中真的能耳目一新。
struts的action惯例后缀名改成了.action,不再像struts1的.do了,说是延续到webwork的惯例。
下面的页面代码submit的时候将提交到login.action
index.jsp
<body>
  <form action="login.action" method="post">
      username:<input type="text" name="username"/>
      password:<input type="password" name="password"/>
      <input type="submit" value="submit"/>
  </form>
</body>
2、Action类
struts2的Action可是大进步,不用再继承任何类,实现了松耦合,它好像将struts1的ActionForm融合了进来,据说struts2不再用ActionForm,页面上对应的字段写在了Action中,struts2框架会自动调用get/set方法,在我印象里struts1中的Action对象不是线程安全的,会在不同线程间重用,所以谨慎在里面定义字段,在这看来struts2的Action不是这样的,只是猜测
package com.mystart.action;

public class LoginAction {

    private String username;
    private String password;
  
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
  
    public String execute() throws Exception{
        return "success";
    }
}

3、jsp、java类都定义了,现在要它们联系起来-struts配置文件
新的struts配置文件有个package包的概念,还没闹明白这个package的详细用法,有待继续深入
<action>标签有变化,type变成了class,path变成了name,struts1中name属性是制定ActionForm的,现在ActionForm没有了
forward变成了result,result的默认name=success

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">


<struts>
    <package name="struts" extends="struts-default">
        <action name="login" class="com.mystart.action.LoginAction">
            <result name="success">/result.jsp</result>
        </action>
    </package>

</struts>

4、最后启动struts2,配置web.xml
struts1的web.xml配置是放在<servlet>中,也就是是一个servlet
struts2变成了一个过滤器Filter
struts1中<url-pattern>被配置成拦截.do的链接
struts2变成了拦截所有链接 /*

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  
  <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

以上是驴了个struts的视频教程,今儿看了第一节课,看完后做了一下总结,里面有一些自己的理解,有不对的地方请兄弟们指正,别光光说我是猪,猪也要进步啊,嘿嘿,每一步都有疑问,明天带着问题接着看下一节,睡觉去。

posted on 2008-12-29 23:06 阅读(2229) 评论(6)  编辑  收藏 所属分类: 学习java

评论

# re: 开始学习struts2 2008-12-29 23:59 虎啸龙吟

写的不错,加油!  回复  更多评论   

# re: 开始学习struts2[未登录] 2008-12-30 09:11 DD

GOOD  回复  更多评论   

# re: 开始学习struts2[未登录] 2008-12-30 10:25 john

你写的是不错,但是希望不要把这样的文章发表在首页!!!  回复  更多评论   

# re: 开始学习struts2 2008-12-30 14:34 mxly

大哥有视频教程吗?给小弟发一份!在此感激不尽
cumtmxly@163.com  回复  更多评论   

# re: 开始学习struts2[未登录] 2008-12-31 12:15 zxbyh

在电驴上搜 风中叶,struts2
这个视频讲的很不错饿!!  回复  更多评论   

# re: 开始学习struts2 2009-02-02 11:11 happy

我现在也开始学习struts2,一起进步吧  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

希望有一天

我能用鼠标双击我的钱包

然后选中一张100元

按住“ctrl+c”

接着不停的“ctrl+v”

嘻嘻~~~笑醒~~~



导航

<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

常用链接

留言簿(6)

随笔分类(102)

随笔档案(398)

文章分类

文章档案(10)

有趣网络

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜