最近刚刚学习了著名的struts2,虽然学习的不够深入,但也有一点收获,下面就慢慢说来。
首先,struts2主要是从webwork继承过来的,而与struts1没有多大的关联。这与传统的很不一样。struts2主要部分就是一系列的拦截器,其中的控制器分为核心控制器和业务逻辑控制器,核心控制器由struts2提供,其主要用来接收用户的请求,并通过拦截器对请求进行分析,由此来决定该由哪个action来处理用户的请求;业务逻辑控制器由用户实现,其是一些了的actions,用来处理用户的请求并形成相应的反应。同时struts2可由很多的视图方式来实现,不仅仅是jsp。
其次,struts2 的主要方面就是实现用户的action。我在练习第一个工程的时候出现了很多错误,所幸最终都得到了解决,对于初学者,最好不要使用集成的开发工具,如myeclipse。通过手工创建一个工程,能更深刻的理解知识。手工创建工程时,要在tomcat的webapps文件夹下创建以下文件夹:
工程名文件夹
| |------classes(主要包括struts.xml和.class文件)
|------WEB-INF |------lib(存放struts2的一些jar文件)
| |------src(存放.java程序)
| |------web.xml
|
|-------index.jsp
这就是手工创建工程的内容。第一次运行工程时很可能会遇到工程不能加载到tomcat的情况,主要是出现下面的错误:
HTTP Status 404 -
type Status report
message
descriptionThe requested resource () is not available.
Apache Tomcat/6.0.26
1,导致这个错误主要是由于两个方面的原因:web.xml配置错误和URL的拼写错误。同时也可能是由于前面工程错误,因此要仔细的检查这几个方面。web.xml可以从下载的struts2的文件包中复制。
2,其次还可能出现不能找到相应action的情况,这里一定要注意:如果 .java程序中的package 名字为login,classes文件夹下存放相应.class文件的文件夹名字一定也为login,必须保持一致。同时要仔细检查struts.xml配置文件里对action的配置是否有错。
先写到这里吧,以后再续。