struts项目之Action(三)

这一篇主要大家介绍一下几个问题:

1,创建Action的三种方法

2,struts.xml中的缺省配置

3,关于页面访问的安全性问题


首先,看一下Action三种创建方法:


第一种:直接手动创建一个类

第二种:继承ActionSuppor类(推荐使用)

第三种:实现Action接口,(大家可以查看一下Action接口的内容,五个常量,一个execute()方法)



在这里看一下文件的结构:





其中demo1,demo2,demo3如下:



package action;
/*
 * 
 * action的三种定义方法之一:直接编写一个action类
 * 
 * 
 */
public class demo1 {
	
	String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	
	public String execute(){
		
		name="这是Demo1,直接定义的一个action类,没有继承任何类和实现任何接口";
		
		return "success";
	}
	
	
	

}

package action;

import com.opensymphony.xwork2.ActionSupport;

/*
 * 
 * 创建Action方法二:继承ActionSupport类
 * 
 * 
 */




public class demo2 extends ActionSupport {
	
	
	String name;

	public String getName() {
		return name;
	}

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

	@Override
	public String execute() throws Exception {
		
		name="这是demo2,继承了actionsuppor类";
		
		
		return super.execute();//超类默认返回的是success
	}
	

}


package action;

import com.opensymphony.xwork2.Action;


/*
 * 
 * 创建Action方法三:实现Action接口
 * 
 * 
 */
public class demo3 implements Action {

	
	
	private String name;


	public String execute() throws Exception {
	name="这是demo3,实现了action接口";
		return "success";
	}


	public String getName() {
		return name;
	}


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

}



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>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
 <package name="default" namespace="/demo"  extends="struts-default" >
 <action name="demo1" class="action.demo1">
  <result name="success">../demoTest.jsp</result>
 </action>
 <action name="demo2" class="action.demo2">
  <result name="success">../demoTest.jsp</result>
 </action>
 <action name="demo3" class="action.demo3">
  <result name="success">../demoTest.jsp</result>
 </action>
 </package>

</struts>


demoTest.jsp的内容如下:


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

 
 <s:property value="name"/>

</body>
</html>



运行截图如下:













好了,大家了解Action创建的三种方法之后,接下来给大家说说,struts.xml的缺省配置

struts.xml中的package中的name是包的唯一标示,namespace是命名空间,页面访问时用的,缺省时,默认为namespace="/"

action中的name也是action的唯一标示,class是对应的action类,两个属性是不可以省略的~~

result标记在action可以有多个,name属性可以省略,默认为name=“success”.




好了,接下来介绍一下,页面访问的安全性问题,当JSP页面放到WEB-INF文件夹里时,外界是无法访问的,只有内部服务器可以访问到如:



















大家看到了吧~~~








































































  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值