• 1.环境搭建


    1.建立web项目

    2.建立Struts2的配置文件(struts.xml)

      将Struts2 的空项目 中的配置文件 (struts.xml)复制到项目的 src目录下

      struts2.x配置文件的默认存放路径是在/WEB-INF/classes目录下,也就是说,把struts.xml放在src的目录下

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     4     "http://struts.apache.org/dtds/struts-2.0.dtd">
     5 
     6 <struts>
     7 
     8     <!--  <constant name="struts.enable.DynamicMethodInvocation" value="false" />
     9     <constant name="struts.devMode" value="false" />
    10 
    11     <include file="example.xml"/>
    12 
    13 
    14 
    15     <package name="default" namespace="/" extends="struts-default">
    16         <default-action-ref name="index" />
    17         <action name="index">
    18             <result type="redirectAction">
    19                 <param name="actionName">HelloWorld</param>
    20                 <param name="namespace">/example</param>
    21             </result>
    22         </action>
    23     </package>
    24     -->
    25     <!-- Add packages here -->
    26     <constant name="struts.devMode" value="true" />
    27     <package name="default" namespace="/" extends="struts-default">
    28         <action name="helloy">
    29             <result>
    30             hello.jsp
    31             </result>
    32         </action>
    33     </package>
    34 
    35 </struts>

    3.复制Struts2相应的jar包及第三方包

    4.修改对应的web.xml,建立struts2的filter(参考struts自带的项目)

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7   <welcome-file-list>
     8     <welcome-file>index.jsp</welcome-file>
     9   </welcome-file-list>
    10   
    11   <filter>
    12         <filter-name>struts2</filter-name>
    13         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    14     </filter>
    15 
    16     <filter-mapping>
    17         <filter-name>struts2</filter-name>
    18         <url-pattern>/*</url-pattern>
    19     </filter-mapping>
    20 </web-app>

    Struts2的访问过程

    Struts2的访问过程:
    1.客户机发送请求 (http://localhost:8080/struts2/hello.action)
    2.请求发送到tomcat,tomcat查看web.xml文件,web.xml里面配置了使用哪个过滤器进行过滤,要过滤哪些请求
    3.通过web.xml指导 要使用struts2Filter 这个过滤器,调用这个过滤器,这个过滤器会去参考stuts.xml这个文件
    4.struts.xml里面配置了,namespace("/") action("helloy")访问哪个action result("hello.jsp")返回哪个结果 http://localhost:8080/Struts_01/helloy.action
    5.filter参考了struts.xml之后,将请求转发到 hello.jsp
    6.hello.jsp 返回显示

    注:

      如果没有编写对应的Action类,不会报错,只要在struts.xml文件中,使用action标签对某个Action进行了注册,
      那么会自动执行result为 success 的结果

    struts2 为什么要这样做,为什么不直接访问 hello.jsp?
      作用: /*将你的请求和展现(视图)分开*/,
      每个请求都要经过struts的中转,如果直接访问hello.jsp,那么请求里面就带有了你所需要的展现,如果需要其他的展现,则需要对请求进行修改
      而使用struts之后,只需要修改struts.xml这个配置文件就可以了
      /*之所以复杂化,是为了可扩展性*/

    namespace 决定了action的访问路径,默认为 "" 即 不指定即为 namespace=""
      namespace 可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为 /index.action   /xxx.index.action /xxx/yyy/index.action
      namespace 最好也用模块来进行命令

      

  • 相关阅读:
    JSP,TOMCAT,JD,mysql环境搭建和连接数据库
    jsp基础学习记录
    将d盘根目录下的troydll.dll插入到ID为4000的进程中
    WebSocket内部原理
    基于流(Comet Streaming)
    短轮询
    DjangoWebSocket
    01WebSocket是什么
    Python实现WebSocket
    WebSocket
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7374659.html
Copyright © 2020-2023  润新知