zoukankan      html  css  js  c++  java
  • 框架学习之Struts2 第一节 开发环境的搭建和第一个应用开发

    1.Struts2介绍 以及 它的6个主要优点

    1_1

    2.搭建 Struts2的开发环境

    1_2

    第一步:引入 jar 包 (只需要引入几个主要的jar包)将下面列举的几个jar包放到项目的lib目录下即可

    1_3

    第二步:编写配置文件 struts.xml 该文件放在 src 目录下

    实例:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
        <package name="yinger" namespace="/test" extends="struts-default">
            <action name="helloworld" class="com.yinger.HelloWorld" method="hello">
                <result name="helloworld">/WEB-INF/page/hello.jsp
                </result>
            </action>
        </package>
    
        <!-- Add packages here -->
    
    </struts>
     

    1_4

    第三步:编写web.xml  该文件放在 WEB-INF 目录下

    实例:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
      <display-name></display-name>    
      
      <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
      
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

    这里要注意使用的struts的版本问题:filter-class 是不同的

    1_5

    发布并启动Tomcat服务器,如果看到struts的配置文件加载了并且没有出错就说明配置成功了

    2011-07-25_173857

    3.第一个应用的开发

    按照上面的介绍搭建好开发环境,并按照实例编写好web.xml和struts.xml

    以下是对于 struts.xml 中的 package的内容的解释

    2_1

    4.开发过程讲解

    第一步:编写wbe.xml和struts.xml:同上

    第二步:编写Java类,编写方法

    package com.yinger;
    
    public class HelloWorld {
        private String msg;
        
        public String getMessage() {
            return msg;
        }
    
        public String execute(){
            msg = "My first struts2 application!";
            return "success";
        }
    }

    第三步:编写Jsp,然后测试结果

    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'helloworld.jsp' starting page</title>
      </head>
      
      <body>
        This is my JSP page. <br>
        ${message }
      </body>
    </html>

    文件目录结构如下:

    2011-07-25_173641

    测试结果:

    2011-07-25_211030

    引用:

    代码是如何工作的?

    你的浏览器向Web服务器发送了的http://localhost:8080/struts/test/helloworld(注:struts为部署在Tomcat中的的项目名称)的URL请求后,服务器做了如下工作:

    1. 容器接收到了Web服务器对资源HelloWorld.action的请求,根据web.xml中的配置,服务器将包含有.action后缀的请求转到org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter类进行处理。这个FilterDispatcher是框架的一个进入点;

    2. 框架在struts.xml配置文件中找到名为helloworld的action对应的类。框架初始化该Action并且执行该Action类的execute方法;

    3. execute方法将信息放入message变量中,并返回成功。框架检查配置以查看当返回成功时对应的页面。框架告诉容器来获得请求返回的结果页面hello.jsp;

    4. 在hello.jsp执行完后,<s:property value="message" />标签调用HelloWorld的Action类中的getMessage方法来获得message的值,并将合并了值的页面呈现给用户;

    本例中是使用 ${message }

    5. 一个纯粹的HTML页面显示在用户的浏览器上。

    到此,第一节结束,谢谢阅读!

  • 相关阅读:
    C#扩展方法(转)
    设计模式与足球(一)创建型模式
    java设计模式之适配器模式
    java设计模式之建造者模式
    java设计模式之原型模式
    java设计模式之单例模式
    java之设计模式工厂三兄弟之抽象工厂模式
    java之设计模式工厂三兄弟之工厂方法模式
    创建对象与使用对象——谈谈工厂的作用
    java之设计模式工厂三兄弟之简单工厂模式
  • 原文地址:https://www.cnblogs.com/yinger/p/2116612.html
Copyright © 2011-2022 走看看