zoukankan      html  css  js  c++  java
  • 4.1 MyEclipse中搭建Struts2开发环境

    (尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/53205941 冷血之心的博客)


    在MyEclipse中如何搭建Struts2开发环境?本文讲解一个入门级Demo,希望可以帮助更多的初学者。

     

    1、首先下载Struts2.3.4版本,下载地址为:http://download.csdn.net/detail/wangzhaoa/4481100

    下载之后解压,目录如下图所示:

     

      src源代码目录:存放*.Java文件,Struts2是一个开源项目,可在此存放所有的代码

      doc文档目录:存放文档文件

      lib库目录:存放提供给开发人员的jar文件,开发过程中需要将其加入到CLASSPATH中

      apps为例子目录:存放Struts2给出的示例,都是*.war文件

     

     

     2、新建一个Web项目Test,如下所示:

     

    3、导入jar包:

    如何找到所需 jar包?

    在我们第一步下载的lib文件中,存放了我们所有的jar包,但是我们不能将其全部导入所建的Test项目,否则会报错。因为有一些东西你没有,而jar包中却存在。

    我们打开第一步下载的apps文件夹,将其示例程序中的jar包拷贝到Test项目中的lib文件夹中。如下所示:

     

     

    4、创建action、配置文件struts.xml、web.xml如下所示:

     

    代码如下:

    HelloAction.java如下:

    [java] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. package com.ywq;  
    2.   
    3. import com.opensymphony.xwork2.ActionSupport;  
    4.   
    5. public class HellloAction extends ActionSupport {  
    6.       
    7.     /** 
    8.      * 1、每次访问Servlet时候,都会执行service方法 
    9.      *   写一个类继承HttpServlet,重写类里面的方法 
    10.      *   在web.xml中配置Servlet访问路径 
    11.      *    
    12.      * 2、访问action,每次访问action时候,都会执行execute方法 
    13.      *   配置action访问路径 
    14.      */  
    15.     @Override  
    16.     public String execute() throws Exception {  
    17.           
    18.           
    19.         return "OK";  
    20.     }  
    21.   
    22. }  

    struts.xml如下:

    [html] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE struts PUBLIC  
    3.     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  
    4.     "http://struts.apache.org/dtds/struts-2.3.dtd">  
    5.       
    6. <struts>  
    7.    
    8.     <package name="form" extends="struts-default" namespace="/">        
    9.           
    10.         <action name="hello" class="com.ywq.HellloAction">  
    11.            <result name="OK">index.jsp</result>  
    12.         </action>  
    13.           
    14.     </package>        
    15.        
    16. </struts>  

     

    web.xml如下:

    [html] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  
    3.   <display-name>Test</display-name>  
    4.     
    5.   <filter>  
    6.         <filter-name>struts2</filter-name>  
    7.         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
    8.     </filter>  
    9.   
    10.     <filter-mapping>  
    11.         <filter-name>struts2</filter-name>  
    12.         <url-pattern>/*</url-pattern>  
    13.     </filter-mapping>  
    14.       
    15.   <welcome-file-list>  
    16.     <welcome-file>index.html</welcome-file>  
    17.     <welcome-file>index.htm</welcome-file>  
    18.     <welcome-file>index.jsp</welcome-file>  
    19.     <welcome-file>default.html</welcome-file>  
    20.     <welcome-file>default.htm</welcome-file>  
    21.     <welcome-file>default.jsp</welcome-file>  
    22.   </welcome-file-list>  
    23. </web-app>  


    index.jsp如下:

    [html] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
    2. <%  
    3. String path = request.getContextPath();  
    4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
    5. %>  
    6.   
    7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    8. <html>  
    9.   <head>  
    10.     <base href="<%=basePath%>">  
    11.       
    12.     <title>My JSP 'index.jsp' starting page</title>  
    13.     <meta http-equiv="pragma" content="no-cache">  
    14.     <meta http-equiv="cache-control" content="no-cache">  
    15.     <meta http-equiv="expires" content="0">      
    16.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
    17.     <meta http-equiv="description" content="This is my page">  
    18.     <!-- 
    19.     <link rel="stylesheet" type="text/css" href="styles.css"> 
    20.     -->  
    21.   </head>  
    22.     
    23.   <body>  
    24.     在浏览器中请求hello.action,首先到配置文件struts.xml中寻找一个叫做“hello”的action <br>  
    25.   然后找到其对应的class,默认执行其execute()方法。得到返回值OK,再次到struts.xml中找到result为OK的对应文件,即index.jsp,然后你就看到了我。  
    26.   </body>  
    27. </html>  

     

    5、运行程序

    将项目添加到Tomcat服务器中,启动服务器,在浏览器中输入:

    或者输入:

    出现一个页面,显示如下:

     

    则程序运行完毕。你的第一个Struts2程序已经跑起来了咯。

     

    下边介绍核心配置文件struts.xml :


    主要有三个标签:package、action、result


    package标签:


    (1) 类似于代码包,区别不同的action,要配置action,必须首先写package标签,在package里面才能配置action

    (2)package标签属性

    • name属性

             - name属性值根功能本身没有关系的,
             - 在一个配置文件中可以写多个package标签,name属性值不能相同的

     

     

    • extends属性     

     

               - 属性值固定的,struts-default
             - 写了这个属性之后,在package里面配置的类具有action功能

     

     

    • namespace属性

             -namespace属性值和action标签里面的name属性值构成访问路径

     

     

     

     action标签:


    (1)action标签配置action访问路径

    (2)action标签属性

    • name属性

    - namespace属性值和action标签里面的name属性值构成访问路径
    - 在package标签里面写多个action标签,但是action的name属性值不能相同的

     


    • class属性

    - action全路径

    • method属性

    - 比如在action里面默认执行的方法execute方法,但是在action里面写其他的方法
    - 让action里面多个方法执行,使用method进行配置

     

     


     result标签:


    (1)根据action的方法返回值,配置到不同的路径里面

    (2)result标签属性

    • name属性

    - 和方法返回值一样

    • type属性

    - 配置如何到路径中(转发或者重定向)
    - type属性默认值 做转发操作

  • 相关阅读:
    三极管8050和8550对管的参数
    三极管9014 管脚
    水深不语,人稳不言
    编译结果分析
    三母运算符
    C语言关键词解释
    51定时器初值的计算
    聪明人都在远离手机虚假繁荣的“人脉”关系
    每段路,都是一种领悟
    你的灯亮着吗读后感二
  • 原文地址:https://www.cnblogs.com/mengfff/p/6764798.html
Copyright © 2011-2022 走看看