zoukankan      html  css  js  c++  java
  • 在eclipse中进行Struts2项目的配置

      Struts2是一个比较出色的基于MVC设计模式的框架,是由Struts1和WebWork发展而来的,性能也比较稳定,现在是Apache软件基金会的一个项目,下面就来配置Struts2进行初始化的开发

      Struts2对环境要求不高,JDK版本1.5以上,ServletAPI在2.5以上,Tomcat版本在6.0以上即可,当然更推荐使用最新版本

      首先去Apache官网下载Struts2的类库,http://www.apache.org最下方的Struts项目超链接http://struts.apache.org,进入Struts首页如下:

      

      点击Download按钮进入下载界面,

      

      目前Struts最新版本是2.3.24.1,分为apps项目案例,lib核心驱动,docs文档和src框架源码,根据需要进行下载,我这里下载的struts-2.3.24.1-all.zip这其中包括所有的包,下载到本地解压出来即可,这个页面中还有之前版本的下载链接,也包括struts1的下载链接

      如果想下载所有的历史包,链接是:http://people.apache.org/builds/struts/

      然后打开eclipse for javaEE,新建动态网站项目

      

      输入项目名确认即可,然后就建立了一个普通的web项目,和之前的没有区别,另外注意要创建web.xml配置文件

      

      然后,打开我们刚才下载的Struts2中lib目录,这下面有非常多的Struts类库,并不是完全需要,一般情况下我们只导入常用的即可,其他的到需要的时候再导入,需要的jar包如下图:

      

      复制到lib目录后,eclipse项目会自动导入web的类库

      然后,配置web.xml,在<web-app>节点之间添加下面代码,也就是Struts2的框架的过滤器

    1     <filter>
    2         <filter-name>struts2</filter-name>
    3         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    4     </filter>
    5     
    6     <filter-mapping>
    7         <filter-name>struts2</filter-name>
    8         <url-pattern>/*</url-pattern>
    9     </filter-mapping>

      配置过滤器是Struts2能跑起来最基本的前提,工作原理就是当tomcat容器启动时,首先加载web.xml,所以会加载其中定义的过滤器,因此StrutsPrepareAndExecuteFilter过滤器会过滤项目下所有的请求,然后后来利用过滤器捕获action请求,从而调用相应的方法进行处理,这就是Struts2的大致工作情况,StrutsPrepareAndExecuteFilter类出现可以让开发人员自定义过滤器,从而在请求到达处理之间对用户请求进行处理

      配置好web.xml后需要建立Struts2的核心配置文件,位置就是项目下的src目录中,建立struts.xml文件,他负责配置所有的请求对应各种类或者方法,所以是核心配置文件,基本的结构如下:

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

      头部是声明,我们所有的配置都写在<struts></struts>标签的内部,那么写一个最简单的配置:

    1     <package name="default" namespace="/" extends="struts-default">
    2         <action name="hellostruts2" class="net.zengzhiying.action.HelloStruts2Action">
    3             <result>/result.jsp</result>
    4         </action>
    5         
    6         <action name="login" method="login" class="net.zengzhiying.action.HelloStruts2Action">
    7             <result>/login.jsp</result>
    8         </action>
    9     </package>

      在这里,一个action就负责处理一个请求,packge我们使用的默认包,当有多个packge时,name一定要区分开,namespace就是访问的空间,我们的项目名是HelloStruts2,如果命名空间是/test那么应该访问,http://localhost:8080/HelloStruts2/test/自定义的action

      第一个action对应的访问路径就是http://localhost:8080/HelloStruts2/hellostruts2.action当然默认也可以不加action

      第二个action对应的就是http://localhost:8080/HelloStruts2/login.action

      然后去建立一个Action类,就是HelloStruts2Action,类名命名必须是以Action结尾的驼峰命名,并且继承于ActionSupport类,具体代码如下:

     1 package net.zengzhiying.action;
     2 
     3 import com.opensymphony.xwork2.ActionSupport;
     4 
     5 public class HelloStruts2Action extends ActionSupport {
     6     
     7     private static final long serialVersionUID = 1L;
     8 
     9     @Override
    10     public String execute() throws Exception {
    11         System.out.println("执行Action");
    12         
    13         return SUCCESS;
    14     }
    15     
    16     //新增自定义方法
    17     public String login() {
    18         return SUCCESS;
    19     }
    20     
    21 }

      如果前面配置文件没指定method属性,默认访问的方法就是execute方法,我们另外还自定义了一个login方法,SUCCESS常量返回了默认的<result>指定的视图,下面建立对应的jsp文件

      result.jsp

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>成功视图</title>
     8 </head>
     9 <body>
    10     Hello Struts2
    11 </body>
    12 </html>

      另外login.jsp的建立也是一样,就不列出了,现在一个基本的Struts2应用就建好了,现在启动服务器,访问即可看到结果:

      

      然后我么看控制台也进行了打印输出

      

      同时访问login也是相同的效果

      

      以上就是基本的配置了,另外在配置文件struts.xml中还可以配置感叹号、通配符等多种灵活的访问方式,还可以配置访问后缀等参数,同时Struts2框架强大的功能更远不止这些,还需要不断地学习研究

      

  • 相关阅读:
    【转】MFC中png格式图片贴图的实现
    【转】Windows 中不规则窗体的编程实现
    【转】MFC添加背景图片方法的三种方法
    【转】mfc win7获得管理员权限 使用WIN7风格 使用当前系统风格
    【转】双缓冲讲解及界面贴图
    【转】[内核/驱动]驱动中获取进程全路径和注册表全路径
    【转】Visual C++中DDB与DIB位图编程全攻略(转)
    【转】vs2010中添加splashScreen
    【转】一个在内存里搜索QQ号码的源码,源自看雪论坛
    输出JSON
  • 原文地址:https://www.cnblogs.com/freeweb/p/5079316.html
Copyright © 2011-2022 走看看