• struts2.1.6 action 01


     

    struts 官网下载

    http://www.apache.org/

    http://struts.apache.org/

    http://struts.apache.org/download.cgi#struts2231

    . 下载struts2.1.6 http://struts.apache.org/download.cgi#struts217 
    (选择下载full distribution)

    2. 下载myeclipse,http://www.myeclipseide.com

    3. 下载tomcat,http://tomcat.apache.org

    4. 下载xwork,http://www.opensymphony.com/xwork (要注意的是下载与struts2.1.6的对应版本,即2.1.2)

    安装与设置

    1. 解压struts2.1.6,假设解压后位于d:struts2目录

    2. 安装MyEclipse,任何版本都可以

    3. 假设你已经安装好jdk和tomcat了,如d: omcat

    HelloWorld

    1. 建立项目

    a) 打开eclipse

    b) 新建项目

    c) 选择myeclipse-java enterprise projects-web project

    d) 项目名称:struts2_0100_introduction

    e) 选择java ee 5.0

    2. 设定server

    a) window – preferences – myeclipse – servers – tomcat – 6.x

    b) 选择tomcat home directory

    c) 选择enable

    d) finish

    3. 设定jdk环境

    a) window – preferences – java – installed jres

    b) 如果没有对应的JDK(不是JRE),选择add

    c) 选择standard VM -> next

    d) 选择JDK对应的Directory

    e) 将刚刚设定的JDK设为默认

    4. 建立第一个struts2.1的程序

    a) 找到struts目录下对应的apps目录

    b) 解压struts2-blank-2.1.6.war

    c) Copy对应的lib的jar文件,需要除junit和spring-test之外的所有文件,其中commons-io的jar包会在文件上传和下载时需要,其他为必须

    d) Copy对应的struts.xml到src目录,在package explorer视图进行操作

    e) 注释掉struts.xml的多余内容

    f) 建立HelloStruts2_1.jsp文件

    g) *修改jsp文件的默认编码属性window-preferences-web-jspfiles-设为Chinese,National Standard

    h) 在struts.xml中照原配置进行对应的配置

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

    5. 运行项目

    a) 可以首先部署到tomcat上项目

    b) 也可以项目右键debug as – myeclipse server app,选择刚刚建立好的server

    6. 其他

    a) 学习建立struts的dev-mode,好处在于我们修改了配置文件的时候能够自动热替换

    b) 建立jar文件对应的源码D:/share/tools/struts-2.1.6/src/core/src/main/java,以及xwork对应的源码,以及对应的javadoc location,(更好的方式是建立自己的user-library)

    c) 浏览struts的目录

    d) 认识eclipse jee的项目部署目录,认识如何修改webapp的context-root,项目copy改名后可能会出现的问题

    e) package explorer – 建立jar的源文件和目标关联,navigator – 观察所有的内容

    f) 认识Action的后缀名,在struts2默认中,带不带action都可以

    常见问题:

    1. struts.xml不自动提示

    a) window – preferences – 搜索 catalog – add

    b) 选择key type为URI

    c) key: http://struts.apache.org/dtds/struts-2.0.dtd

    d) location: 对应的dtd文件,位于struts-core包中,解压开,指定相应位置,如:D:share750_Struts2.1.6softstruts-2.1.6libstruts2-core-2.1.6struts-2.0.dtd

    2. 导入示例项目

    a) 注意JDK的版本,应该是JDK6,否则会出class version的问题

    b) 如果总是项目出问题,可以重建项目,单独拷文件

    c) 还有一种情况是项目右键,properties – java – compiler 选择6.0

    d) 另外,在tomcat配置中也要使用jdk6

    3. devMode设为true就会出问题空指针问题

    a) tomcat路径带了空格

    4. 在使用ActionContext.getContext().get(“request”)取不到对象,为null值

    a) web.xml不要使用2.0的filter,用新的

    5. 在action的试验中,遇到一个奇怪的bug

    a) 用default-action-ref指定一个action

    b) 用*_*映射

    c) 在地址栏中访问一个不存在的action,如adfsdfsfs

    d) 结果居然会映射到*_*上

    e) 如果换成*__*就没问题了

    f) 靠,只能认为是bug

    g) 下次用*-*,不用*_*

    Action

    1. 实现一个Action的最常用方式:从ActionSupport继承

    2. DMI动态方法调用 !

    3. 通配符配置 * {1} {2} …

    a) *_*

    4. 接收参数的方法(一般用属性或者DomainModel来接收)

    5. 简单参数验证addFieldError

    a) 一般不使用Struts2的UI标签

    6. 访问Web元素

    a) Map类型

    i. IoC

    ii. 依赖Struts2

    b) 原始类型

    i. IoC

    ii. 依赖Struts2

    7. 包含文件配置

    8. 默认action处理



    ²操作
    ²happy的操作
    ²尊重学习规律的操作
    ±学习上痛苦的根源之一是只能走的时候逼我来跑
    °不是说深入的内容就不讲了,而是放到合适的时候讲
    ±一段时间可以,长了集中不了精力
    ±先讲应用,再讲理论,先学脉络,后学细节
    ±去掉让同学们学的不舒服的地方

    打开项目方法


    java EE  5.0 会自动的加上JSTL 

    会出现一个对话框只要你的级别比它高都没问题
    加完一个Struts 2 项目的时候有几个地方还需要设置
    1、部署tomcat  以下程序安装运行在
    <constant name="struts.devMode" value="true"/>    报错
    因为  D:java rjweb omcat-6.0.18    有空格


    改成如下目录没有报错,一切加载正常

    <constant name="struts.devMode" value="true"/>    
    OK

    2、jdk安装



    确认jdk


    3、查看Struts 2 的软件

    把struts .xml 文件拷贝到src 目录下面去


    再把Struts需要用的jar文件拷贝到lib目录下面  


    如果想看项目在硬盘上什么样子可以 
    Window ----> show view --->other ---> General 下面的Navigator

    下一步再配置 web.xml 


    1. <filter>  
    2.        <filter-name>struts2</filter-name>  
    3.        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
    4.    </filter>  
    5.   
    6.    <filter-mapping>  
    7.        <filter-name>struts2</filter-name>  
    8.        <url-pattern>/*</url-pattern>  
    9.    </filter-mapping>  

    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.     
    21. </web-app>  

    1. <url-pattern>/*</url-pattern>  永远这么写  
     
    把struts 标签里面的全部注释用来参考
    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.   
    27. </struts>  
    配置第一个
    1. <package name="default" namespace="/" extends="struts-default">  
    2.     <action name="hello">  
    3.         <result>  
    4. /Hello.jsp  
    5.         </result>  
    6.     </action>  
    7. </package>  


    用文本编辑器JSP 打开,页面打开会比较快



    写的第一个Hello.jsp程序
    1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  
    2. <%  
    3. String path = request.getContextPath();  
    4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
    5. %>  
    6.   
    7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    8. <html>  
    9.   <head>  
    10.     <base href="<%=basePath%>">  
    11.       
    12.     <title>Hello Struts 2.1</title>  
    13.     <meta http-equiv="pragma" content="no-cache">  
    14.     <meta http-equiv="cache-control" content="no-cache">  
    15.     <meta http-equiv="expires" content="0">      
    16.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
    17.     <meta http-equiv="description" content="This is my page">  
    18.     <!--  
    19.     <link rel="stylesheet" type="text/css" href="styles.css">  
    20.     -->  
    21.   </head>  
    22.     
    23.   <body>  
    24.     Hello Struts 2.1 <br>  
    25.   </body>  
    26. </html>  

    我用的是8.6 的myeclipse 程序可以把项目做为 server application 直接运行




    选择刚配置好的Tomcat 服务器运行即可
    运行先看看tomcat 服务器是否正常,循序渐进。

    第一个struts 项目运行



    1. <constant name="struts.devMode" value="false" />  改成  <constant name="struts.devMode" value="true" /> 开发模式,自动加载项目,就是你改程序的时候马上有所反馈  不过必须要你的 tomcat 安装目录没有空格 否则会报错  

    要看struts2 里面的源码如下struts2 上点右键 D:dongxingSSHstrutsstruts-2.1.6srccoresrcmainjava

     这样就可以看见了


    如果要看java docs文档
     D:dongxingSSHstrutsstruts-2.1.6docsstruts2-coreapidocs
    不过只有在一个类里面实现,选中你所要看的方法和属性-->F1 即可


    点击右边的文档即可

    自动加载struts2的标签 struts2-core-2.1.6.jar 解压在一个文件里面 struts-2.0.dtd 
    window -->XML catalog  
    D:dongxingSSHstrutsstruts-2.1.6libstruts2-core-2.1.6struts-2.0.dtd
    URi   
    http://struts.apache.org/dtds/struts-2.0.dtd


    结果自动提示如下:


    设计模式主要目的: 就是可扩展性
    struts 就是把你的请求和你的展现分开

    JUDE 视图  struts运行机制





          
                                                
  • 相关阅读:
    JavaScript的性能优化:加载和执行
    JS获取图片的原始尺寸
    深入理解js构造函数
    Revit二次开发 获取缩略图
    WPF listbox分页
    WPF ListBox 图片显示及分页
    Revit禁用RibbonPanel
    C# excel 单元格居中
    WPF TreeView
    WPF ListView绑定数据
  • 原文地址:https://www.cnblogs.com/fclbky/p/4220802.html
Copyright © 2020-2023  润新知