Struts版本更新真快啊,回头望了望大部分参考书上还停留在2.1.X时,一上官网都更新到2.3.4版本了......不过整个配置流程并没有太大的改变,流程如下(以一段小程序为例好了):
1:建立web项目,将Struts2.3.4目录下lib文件夹下的jar导入到WEB-INF下的lib目录,不过我们没必要将所有的包完全导入,我们只要保证能运行struts的包就好了,大家可以直接参考Struts2.3.4的app目录的blank项目即可,这里列出来吧:
asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar
freemarker-2.3.19.jar javassist-3.11.0.GA.jar(这个包以前是被内置到Struts中的,但是后来被移出去了,大家可以手动从blank项目中找到) ognl-3.0.5.jar
struts2-core-2.3.4.jar xwork-core-2.3.4.jar
2:修改web.xml
由于struts2启动依托于一个过滤器,所以需要我们手工配置,这个过滤器源文件位于struts2-core-2.3.4.jar 下org.apache.struts2.dispatcher.ng.filter中,好吧,配置如图所示:
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;
}
@Override
public String execute() throws Exception
{
// TODO Auto-generated method stub
return SUCCESS;
}
3:在src文件夹下建立struts.xml文件(这个是核心文件,文件名不能错),其实这个并不会被调用,真正运行时是调用的classes下的struts.xml,OK,现在配置我们刚才创立的文件,
username:<%=request.getParameter("username") %><br>
password:<%=request.getParameter("password") %>
恩,基本上就这样,其中我们自己创建的类去处理请求的参数时,并不是说我们的成员变量就一定要是password,username的,只要我们的set,get方法后面的名字与传过来的参数名字相同即可,这个涉及到反射的机制...