一,在eclipse下复制一个工程然后粘贴:
右键要复制的工程->copy->past你要的工程->右键property->Web Process Seting->将名字改了。
二,今天刚学了Action接下来和大家分享一下:
action:name同一个包下的action不能同名,method:默认为execute()。
三种方式来实现用户自定义的控制器action:
(1)普通的java类
package nuc.sw.action;
public class HelloAction {
public String execute(){
return "success";
}
}
struts.xml中:
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="nuc.sw.action.HelloAction">
<result name="success">
/hello.jsp
</result>
</action>
(2)实现接口Action
package nuc.sw.action;
import com.opensymphony.xwork2.Action;
public class HelloAction2 implements Action {
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return "success";
}
}
struts.xml中:
<action name="hello2" class="nuc.sw.action.HelloAction2">
<result name="success">
/hello.jsp
</result>
</action>
(3)继承ActionSupport
package nuc.sw.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction3 extends ActionSupport {
public String execute(){
return "success";
}
}
struts.xml中:
<action name="hello3" class="nuc.sw.action.HelloAction3">
<result name="success">
/hello.jsp
</result>
</action>
三,Struts的工作流程:
在浏览器中:http://localhost:tomcat的端口号/工程名/.hello,最后一个“/”指的是命名空间,即struts.xml中的namespace,在web.xml中配置了struts2的核心过滤器StrutsPrepareAndExecuteFilter,在核心过滤器中实现了init()方法,该方法读取到struts.xml文件后将内容封装进JavaBean对象然后封装到内存中。
四,小知识:
package:用来分类管理具有相同功能的action,若没有指定的的type属性默认:dispatcher(请求转发);
扩展名的修改:在src/struts.xml文件中配置。