zoukankan      html  css  js  c++  java
  • Struts2-整理笔记(一)介绍、搭建、流程、详解struts.xml

    Struts2是一种前端的技术框架 替代Servlet来处理请求
     
    Struts2优势
    自动封装参数
    参数校验
    结果的处理(转发|重定向)
    国际化
    显示等待页面
    表单的防止重复提交
     
    搭建框架:导包->直接找blank项目中lib、书写Action类、struts.xml、web.xml
     
    web.xml:这里用到了StrutsPrepareAndExecuteFilter包是struts2核心的过滤器,对应下面的流程里FilterDispacther
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"
     4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
     5     id="WebApp_9" version="2.4">
     6     <display-name>Struts Blank</display-name>
     7     <filter>
     8         <filter-name>struts2</filter-name>
     9         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    10     </filter>
    11     <filter-mapping>
    12         <filter-name>struts2</filter-name>
    13         <url-pattern>/*</url-pattern>
    14     </filter-mapping>
    15     <welcome-file-list>
    16         <welcome-file>index.html</welcome-file>
    17     </welcome-file-list>
    18 </web-app>

    配置详解:struts.xml

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
     4     "http://struts.apache.org/dtds/struts-2.3.dtd">
     5 
     6 <struts>
     7     <!-- 如果使用使用动态方法调用和include冲突 -->
     8     <constant name="struts.enable.DynamicMethodInvocation" value="true" />
     9     <constant name="struts.devMode" value="true" />
    10     <package name="default" namespace="/" extends="struts-default">
    11         <action name="Action" class="cn.zhr.Action">
    12             <result name="success" type="dispatcher">hello.jsp</result>
    13         </action>
    14     </package>
    15 </struts>
    package:将Action配置封装,就是可以在package中配置很多action
      name属性:给包起个名字,起到标识作用,随便起。不能与其他包名重复
      namespace属性:给 action 的访问路径中定义一个命名空间(action的前缀)
      extends属性:继承一个指定包 struts-default 在core核心包最下面 struts-deffault.xml168行 必选
      abstract属性:包是否为抽象的;标识性属性,该包不能独立运行专门被继承。和name一样给开发看的
     
    action元素:配置action类
      name属性:决定了Action 访问资源名
      class属性:action的完整类名
      method属性:指定调用Action中的那个方法来处理请求
     
    result元素:结果配置
      name属性:标识结果处理的民变成。与action方法的返回值对应
      type属性:指定调用那一个 result 类来处理结果(转发|重定向)默认使用转发
      标签体:填写页面的相对路径
     
    include引入:引入其他struts配置文件
    <include file="cn/zhr/struts.xml></include>
     
    下图为struts2的流程
     
    拦截器:
      1.表面上看,拦截器帮我们封装了很多功能
      2.拦截器优秀的设计,可插拔式设计
      3.aop思想
     
     
  • 相关阅读:
    2014 HDU多校弟九场I题 不会DP也能水出来的简单DP题
    POJ 2208 Pyramids 欧拉四面体
    BNU 4067 求圆并
    POJ 3675 Telescope 简单多边形和圆的面积交
    POJ 2451 Uyuw's Concert(半平面交nlgn)
    [置顶] 程序员期望月薪那些事儿
    一、转正的那些事儿
    鼓膜内陷(听别人说话还震动)
    程序员的职场潜意识Top10
    年过40岁的雷军致已逝去的青春!
  • 原文地址:https://www.cnblogs.com/moster/p/7840762.html
Copyright © 2011-2022 走看看