zoukankan      html  css  js  c++  java
  • 第一章 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是多例的。

    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里面默认有拦截器  还有属性都是再这放着

  • 相关阅读:
    小结:ES7——async和await初识
    如何抽离、引用公共部分页面
    数据处理:高德、百度经纬度坐标的相互转化
    mock数据的基础使用
    express随笔
    ES6学习基础
    初学node.js
    ajax基础
    ajax的几个面试题
    (转)认识原型对象和原型链
  • 原文地址:https://www.cnblogs.com/carsar/p/5592355.html
Copyright © 2011-2022 走看看