码迷,mamicode.com
首页 > 其他好文 > 详细

简单的谈一下struts2入门

时间:2016-06-16 23:16:53      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

1Struts的由来

Struts1 - > 2000~2007 火,第一个非常成功的MVC框架 。 高耦合。高度的依赖于Servlet容器。

2003开始就有了很多的其他的MVC框架

  Webwork  - struts2

  Jsf - SUN

  springmvc

 记住关键的一个概念就是Struts2是webwor升级版本

 

下载struts2

http://struts.apache.org/

 

Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It favors convention over configuration, is extensible using a plugin architecture, and ships with plugins to support REST, AJAX and JSON.

 elegant:优雅的

 extensible: 可扩展的

下载以后:

  

 

一个Struts2项目要求的最少的包:

  

 

 

4:快速示例开发第一个struts2的示例

1:创建一个web项目 - 添加以下的依赖

<dependency>:使用的就是maven 关键的就是依赖  它的下载地址 mvnrepository.com

<groupId>org.apache.struts</groupId>

<artifactId>struts2-core</artifactId>

<version>2.5</version>

</dependency>:描述的意识

 

导入的包是:

   

 

2:在web.xml中配置s2的核心过虑器

<filter>

<filter-name>s2</filter-name>

<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>s2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

 

3:在classpath下创建struts.xml配置文件

 

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"

"http://struts.apache.org/dtds/struts-2.5.dtd">:约束

<struts>

</struts>

 

4:开发第一个Action

package cn.struts2.action;

 

public class OneAction {

/**

 * Struts2action要求<br>

 * 1:pojo - 简单Java对象 - Plain Ordiary Java Object

 * 2:可以实现接口org...xwork.Action

 * 2:可以继承org...xwork.ActionSupport

 * 4:要求可以与用户交互的方法必须是 public String xxx(){...}

 *   默认是execute(){...}

 */

public String execute(){

System.err.println("Hello"+this);

return "success";

}

}

 

配置到struts.xml中去:

<!-- 配置第一个Action -->

<package name="one-package" extends="struts-default"> //继承struts2的默认的包使用里面的信息

<!-- 在一个包中,可以声明多个action,name是指如何访问到这个action -->

<action name="one" class="cn.struts2.action.OneAction">

<!-- 配置返回success字符串时,指的页面是哪儿 -->

<result name="success">/jsps/show.jsp</result>

</action>

</package>

5:访问

<body>

<a href="one">One</a>

<br>

<a href="${pageContext.request.contextPath}/one.action">One</a>

</body>

 两种的访问方式

 

访问输出的Action的内存:这就说明:Action是多例的。

Hellocn.struts2.action.OneAction@46dcef

Hellocn.struts2.action.OneAction@37bf41

Hellocn.struts2.action.OneAction@14e5ba3

Hellocn.struts2.action.OneAction@47b191

Hellocn.struts2.action.OneAction@11ac60f

Hellocn.struts2.action.OneAction@48b2a9

 还有一点就是 serrvlet|是单例的

问题:

  1:为什么写 one.action

因为:strtus2里面默认的扩展名就是为action 可以修改

  2:为什么要继承 extends=struts-default

因为:在strtus2里面默认有拦截器  还有属性都是再这放着

 

简单的谈一下struts2入门

标签:

原文地址:http://www.cnblogs.com/carsar/p/5592355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!