struts2的一个杂乱工程

94 篇文章 0 订阅
69 篇文章 0 订阅
 <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
        "http://struts.apache.org/dtds/struts-2.1.7.dtd">
    <struts>
        <!-- 
            package:包,用于对Action进行封装。
            1、name:包名,根元素下可以有多个包,彼此之间不能重名。
            2、extends:继承,用于指定继承的包,相当于将继承包下的配置信息复制到了当前包下。
            3、namespace:命名空间,用于规定Action的访问路径,必须以“/”开头。
            4、请求Action时,按照如下格式拼写URL:
               http://IP:PORT/ProjectName/NAMESPACE/ACTIONNAME.action
        -->
        <package name="day01" namespace="/demo" extends="struts-default">
            <!-- 
                action:业务控制器,用于注册业务控制器组件(类)。
                1、name:action名称,用于规定Action的访问路径。
                    一个包下可以有多个action,彼此之间不能重名。
                2、class:业务控制器组件,用于指定业务控制器对应的类。
                3、method:方法,用于指定访问当前action时要调用的方法。
             -->
            <action name="hello" class="action.HelloAction" method="sayHello">
                <!-- 
                    result:输出组件,用于转发、重定向、直接输出。
                    1、name:名称,一个action下可以有多个result,彼此之间不能重名。
                    2、默认做转发,标记内容设置成转发的页面。
                 -->
                <result name="success" >
                /index.jsp
                </result>
                
            </action>
            
            <action name="image" class="action.HelloAction" method="test">
            	<result name="image" type="stream">
                	<param name="inputName">imageStream</param>
                </result>
            </action>
            <action name="redirect" class="action.HelloAction" method="redirect">
            	<result name="redirect">/redirect.jsp</result>
            </action>
            
        </package>
    </struts>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <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>
    This is my JSP page. <br>
    <form action="/struts2copy/demo/hello.action" method="post">
    	
    	真实姓名:<input name="realName"><br/>
    	NickName:<input name="user.name"><br/>
    	Password:<input name="user.pwd"><br/>
    	<input type="submit" value="提交">
    	
    	
    </form>
    <h1>${user }</h1>
    <h1>${realName }</h1>
    <h1><s:property value="some"/></h1>
    <h1><s:property value="cityArray[1]"/></h1>
    <h1><s:property value="cityList[1]"/></h1>
    <h1><s:property value="cityMap.beijing"/></h1>
    <h1><s:property value="'123456'"/></h1>
    <h1><s:property value="'abc'.toUpperCase()"/></h1>
    <h1><s:property value="{'a','b','c'}"/></h1>
    <h1><s:property value="#{'a':'c','b':'d'}" /> </h1>
    <h1>观察ValueStack的结构</h1>
    <h1><s:debug /></h1>
    <h1>栈顶</h1>
    <h1><s:property/></h1>
    <h1><s:property value="#action.user.name"/></h1>
    
    <h1>
    
    	<s:iterator value="list" var="s">
    	
    		<s:property value="s"/>
    		
    	</s:iterator>
    
    </h1>
     <h1>
    
    	<s:iterator begin="begin" end="end" value="list" var="s">
    	
    		<s:property value="#s"/>
    		
    	</s:iterator>
    
    </h1>
   
    <form>
    	<input name="name" value="<s:property value="name"/>"/>
    	<input value="submit" type="submit">
    </form>
    
    <form action="/struts2copy/demo/redirect.action" >
    
    	<input type="submit" value="redirect"/>
    </form>
    <img alt="alt" src="/struts2copy/demo/image.action">
  </body>
</html>

package action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork2.ActionContext;

import model.User;

public class HelloAction {
	
	public HelloAction(){
		
		ActionContext context = ActionContext.getContext();
		
		//imageStream = this.getClass().getResourceAsStream("screen.png");
		System.out.println(19);
		System.out.println(imageStream);
		
	}
	
	public String redirect(){
		return "redirect";
	}
	
	public String test() throws FileNotFoundException{
		
		
		imageStream = new FileInputStream(this.getClass().getResource("/screen.png").getPath());//new FileInputStream(new File("screen.png"));
		System.out.println(28);
		System.out.println(imageStream);
		return "image";
		
	}
	private InputStream imageStream  = this.getClass().getResourceAsStream("screen.png");
	
	public InputStream getImageStream() {
		return imageStream;
	}

	public void setImageStream(InputStream imageStream) {
		this.imageStream = imageStream;
	}

	/**
	 * 在业务方法中输出“Hello,Action.”
	 */
	public String sayHello() {
		System.out.println("Hello,Action.");
		System.out.println(user);

		cityList.add("zhengzhou");
		cityList.add("chongqing");
		cityList.add("qingdao");
		// 初始化Map数据
		cityMap.put("beijing", "2300万人口");
		cityMap.put("shanghai", "2000万人口");
		cityMap.put("guangzhou", "1800万人口");
		list.add("xiuye");
		list.add("wuming");
		list.add("kkkkk");
		System.out.println(name);
		return "success";
	}

	private String[] cityArray = new String[] { "beijing", "shanghai",
			"guangzhou" };

	private List<String> cityList = new ArrayList<String>();

	private Map<String, String> cityMap = new HashMap<String, String>();

	private String realName;

	public String[] getCityArray() {
		return cityArray;
	}

	public void setCityArray(String[] cityArray) {
		this.cityArray = cityArray;
	}

	public List<String> getCityList() {
		return cityList;
	}

	public void setCityList(List<String> cityList) {
		this.cityList = cityList;
	}

	public Map<String, String> getCityMap() {
		return cityMap;
	}

	public void setCityMap(Map<String, String> cityMap) {
		this.cityMap = cityMap;
	}

	private List<String> list = new ArrayList<String>();
	
	public List<String> getList() {
		return list;
	}

	public void setList(List<String> list) {
		this.list = list;
	}

	private Integer begin = 1;
	private Integer  end = 2;
	public Integer getBegin() {
		return begin;
	}

	public void setBegin(Integer begin) {
		this.begin = begin;
	}

	public Integer getEnd() {
		return end;
	}

	public void setEnd(Integer end) {
		this.end = end;
	}

	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
		System.out.println(realName);
	}

	private User user;

	private String name;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
		System.out.println(user);
	}

	private String some = "WUMING";

	public String getSome() {
		return some;
	}

	public void setSome(String some) {
		this.some = some;
	}

}

package test;

import static org.junit.Assert.*;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import org.junit.Test;

import action.HelloAction;

public class test {

	@Test
	public void test() throws FileNotFoundException {
		HelloAction h = new HelloAction();
		System.out.println(h.getClass().getClassLoader().getResource("screen.png"));
		String s = null;
		try {
			s = h.test();
		} catch (FileNotFoundException e) {
			
			e.printStackTrace();
		}
		File f = new File(".");
		System.out.println(f.getParent());
		System.out.println(s);
		System.out.println(this.getClass().getResource("/screen.png").getPath());
		System.out.println(new FileInputStream(this.getClass().getResource("/screen.png").getPath()));
		InputStream in = new FileInputStream("/screen.png");
		
		System.out.println(in);
	}

}

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>struts2copy</groupId>
  <artifactId>struts2copy</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>struts2copy</name>
  <description>struts2 example</description>
  <dependencies>
  <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>bean-validator</artifactId>
      <version>3.0-JBoss-4.0.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.enterprise.deploy</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    
   
    <dependency>
    
      <groupId>org.glassfish</groupId>
      <artifactId>javax.jms</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.management.j2ee</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.persistence</groupId>
      <artifactId>javax.persistence</artifactId>
      <version>2.0.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.resource</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.security.auth.message</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.security.jacc</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.servlet</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.servlet.jsp</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.servlet.jsp.jstl</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api-osgi</artifactId>
      <version>2.2.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>jsr311-api</artifactId>
      <version>1.1.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.web</groupId>
      <artifactId>jstl-impl</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.xml</groupId>
      <artifactId>webservices-api-osgi</artifactId>
      <version>2.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.weld</groupId>
      <artifactId>weld-osgi-bundle</artifactId>
      <version>1.0.1-SP3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish.web</groupId>
      <artifactId>javax.servlet.jsp.jstl</artifactId>
      <version>1.2.1</version>
    </dependency>
    <dependency>
    	<groupId>commons-fileupload</groupId>
    	<artifactId>commons-fileupload</artifactId>
    	<version>1.3.1</version>
    </dependency>
    <dependency>
    	<groupId>commons-io</groupId>
    	<artifactId>commons-io</artifactId>
    	<version>2.2</version>
    </dependency>
    <dependency>
    	<groupId>commons-lang</groupId>
    	<artifactId>commons-lang</artifactId>
    	<version>2.4</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.commons</groupId>
    	<artifactId>commons-lang3</artifactId>
    	<version>3.2</version>
    </dependency>
    <dependency>
    	<groupId>commons-logging</groupId>
    	<artifactId>commons-logging</artifactId>
    	<version>1.1.3</version>
    </dependency>
    <dependency>
    	<groupId>commons-logging</groupId>
    	<artifactId>commons-logging-api</artifactId>
    	<version>1.1</version>
    </dependency>
    <dependency>
    	<groupId>org.freemarker</groupId>
    	<artifactId>freemarker</artifactId>
    	<version>2.3.22</version>
    </dependency>
    <dependency>
    	<groupId>javassist</groupId>
    	<artifactId>javassist</artifactId>
    	<version>3.11.0.GA</version>
    </dependency>
    <dependency>
    	<groupId>ognl</groupId>
    	<artifactId>ognl</artifactId>
    	<version>3.0.6</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.struts</groupId>
    	<artifactId>struts2-core</artifactId>
    	<version>2.3.24</version>
    </dependency>
    <dependency>
    	<groupId>xmlpull</groupId>
    	<artifactId>xmlpull</artifactId>
    	<version>1.1.3.1</version>
    </dependency>
    <dependency>
    	<groupId>xpp3</groupId>
    	<artifactId>xpp3_min</artifactId>
    	<version>1.1.4c</version>
    </dependency>
    <dependency>
    	<groupId>com.thoughtworks.xstream</groupId>
    	<artifactId>xstream</artifactId>
    	<version>1.4.2</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.struts.xwork</groupId>
    	<artifactId>xwork-core</artifactId>
    	<version>2.3.24</version>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <resources>
      <resource>
        <directory>src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <warSourceDirectory>WebRoot</warSourceDirectory>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值