简单的谈一下struts2入门

Posted 韩说不白说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的谈一下struts2入门相关的知识,希望对你有一定的参考价值。

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是多例的。

Hello[email protected]

Hello[email protected]

Hello[email protected]

Hello[email protected]

Hello[email protected]

Hello[email protected]

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

问题:

  1:为什么写 one.action

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

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

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

 

以上是关于简单的谈一下struts2入门的主要内容,如果未能解决你的问题,请参考以下文章

struts2入门程序

struts2 struts2入门

struts2简单入门-配置文件说明

Struts2学习————Struts2入门

struts2入门之struts2获取表单数据

struts2简单入门-参数传递的三种方式