Struts2学习笔记(1)-入门教程
什么是structs2?它就是在struts1的基础上演化而来的,是一种mvc模式的框架,其实它的功能很简单,就是将view和逻辑处理层分开。本人才疏学浅,以前都是用spring做项目,由于要毕业,所以需要进行转行(暂且这么说吧),公司都是用的structs框架,木有办法,从头开始学吧!
所需软件-eclipse、tomcat7.0、struts-2.3.1.2(源码自己下载),下面以具体小项目来说明。
首先是struts2的工作原理:首先tomcat对用户所输入的url进行解析,将其中的项目名称解析出,然后程序查找所启动的项目,然后直接到配置文件web.xml中,根据web.xml文件的配置即filter查找到struts2的配置文件--struts.xml,然后根据其中的namespace,查找到用户所访问的action,然后跳转到用户所需的action界面。
也许看着上面的比较麻烦,下面用一个典型的小项目来说明:
1、打开eclipse(注本eclipse不是经典的而是下载的ide版本,用于web开发非常方便),新建一个web project,注意要按照next的方式进行,这样在最后一步可以选择到web.xml一项,省掉了手动添加的步骤。
2、添加jar包,将下载的structs源码包解压,然后将其中的lib文件下你所用到的jar包添加进去,添加的位置webcontent-web-inf下的lib文件夹。
3、添加struts.xml文件,最简单的struts.xml文件在所下载的struts源码的app中,可以从其中寻找一份,也可按以下方式自己写一份(最简单的),直接放到src的根目录下:
<!doctype struts public
"-//apache software foundation//dtd struts configuration 2.0//en"
"">
<struts>
<constant name="struts.devmode" value="true" />
<package name="front" namespace="/" extends="struts-default">
<action name="index" class="com.myservice.web.action02">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
对以上内容做下说明:第6行的struts.devmode配置的是是否采用开发模式,开发模式的意思就是动态修改可以动态演示,无需重启server,它默认是false;第7行的package如同java的包一样,用于分类;namespace非常重要,是用于分割url的,如上所述,要打开的url为:......./index,其中的/代表namespcae,index则代表了action的name属性。action中的class是类,用于一些逻辑处理的普通java类;result则是转入的jsp(view)界面,上述的jsp界面放在webcontent根目录下。
4、编写java类-action02,新建一个包com.myservice.web,然后新建一个java类action02,其内容很简单,
import com.opensymphony.xwork2.actionsupport;
public class action02 extends actionsupport{
@override
public string execute() throws exception {
// todo auto-generated method stub
return "success";
}
}
就是覆写execute方法,直接返回了一个字符串success,这个字符串是和action中result的那么属性所对应的。
另还有两种方法可以完成class的功能,但是都不常用,一种是不继承任何的类和接口,直接写一个execute方法,也是返回string;另外一种则是写一个class实现action接口,然后覆写action的execute方法,其实actionsupport也是实现了action接口,但是它还另外实现了很多方法,可以非常方便的使用,因此在开发中都采用继承actionsupport类的方式。
5、编写jsp文件,在webcontent根目录下新建一个jsp文件,注意要将其语言设置为utf-8,,如:
pageencoding="utf-8"%>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>myweb02</title>
</head>
<body>
<h1>明日复明日,明日何其多</h1>
</body>
</html>
通过上述工作,就完成了最简单的编写,然后就可以启动server(tomcat7.0)了,在浏览器中输入,其中的xxx代表的是项目名。
上一篇: Yii 2.0自带的验证码使用经验分享
下一篇: php实现的双色球算法示例