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页面显示在用户的浏览器上。

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

  • 相关阅读:
    leetcode Remove Linked List Elements
    leetcode Word Pattern
    leetcode Isomorphic Strings
    leetcode Valid Parentheses
    leetcode Remove Nth Node From End of List
    leetcode Contains Duplicate II
    leetcode Rectangle Area
    leetcode Length of Last Word
    leetcode Valid Sudoku
    leetcode Reverse Bits
  • 原文地址:https://www.cnblogs.com/yinger/p/2116612.html
Copyright © 2011-2022 走看看