struts项目之Action(三)

来源:互联网 发布:克莱汤普森体测数据 编辑:程序博客网 时间:2024/04/30 19:27

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

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;}@Overridepublic 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文件夹里时,外界是无法访问的,只有内部服务器可以访问到如:



















大家看到了吧~~~








































































原创粉丝点击