zoukankan      html  css  js  c++  java
  • 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如下:

    package com.ywq;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class HellloAction extends ActionSupport {
    	
    	/**
    	 * 1、每次访问Servlet时候,都会执行service方法
    	 *   写一个类继承HttpServlet,重写类里面的方法
    	 *   在web.xml中配置Servlet访问路径
    	 *   
    	 * 2、访问action,每次访问action时候,都会执行execute方法
    	 *   配置action访问路径
    	 */
    	@Override
    	public String execute() throws Exception {
    		
    		
    		return "OK";
    	}
    
    }
    

    struts.xml如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
    	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    	"http://struts.apache.org/dtds/struts-2.3.dtd">
    	
    <struts>
     
    	<package name="form" extends="struts-default" namespace="/">		
    		
    		<action name="hello" class="com.ywq.HellloAction">
    		   <result name="OK">index.jsp</result>
    		</action>
    		
    	</package>      
         
    </struts>

    web.xml如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <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">
      <display-name>Test</display-name>
      
      <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
        
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>


    index.jsp如下:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
      </head>
      
      <body>
        在浏览器中请求hello.action,首先到配置文件struts.xml中寻找一个叫做“hello”的action <br>
      然后找到其对应的class,默认执行其execute()方法。得到返回值OK,再次到struts.xml中找到result为OK的对应文件,即index.jsp,然后你就看到了我。
      </body>
    </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属性默认值 做转发操作


    如果对你有帮助,记得点赞哈~欢迎大家关注我的博客,随时加群交流技术哈~





  • 相关阅读:
    leetcode 33. Search in Rotated Sorted Array
    leetcode 32. Longest Valid Parentheses
    leetcode 28. Implement strStr()
    leetcode 27. Remove Element
    leetcode 26. Remove Duplicates from Sorted Array
    leetcode 24. Swap Nodes in Pairs
    leetcode 22. Generate Parentheses
    树莓派的频率管理和热控制
    sql执行insert插入一条记录同时获取刚插入的id
    全程直播个人博客重构过程,采用springboot+dubbo+jpa技术栈。
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467237.html
Copyright © 2011-2022 走看看