首页 > 代码库 > HelloStruts

HelloStruts

Hello Struts


 

  1. 建立项目
    1. 打开myeclipse
    2. 新建项目
    3. 选择myeclipse-java enterprise projects-web project
    4. 项目名称:hellostruts
    5. 选择java ee 6.0
  2. 设定server
    1. window – preferences – myeclipse – servers – tomcat – 8.x
    2. 选择tomcat home directory
    3. 选择enable
    4. finish
  3. 设定jdk环境
    1. window – preferences – java – installed jres
    2. 如果没有对应的JDK(不是JRE),选择add
    3. 选择standard VM -> next
    4. 选择JDK对应的Directory(C盘)
    5. 将刚刚设定的JDK设为默认
  4. 建立第一个struts2.1的程序
    1. 找到struts目录下对应的apps目录
    2. 解压struts2-blank-2.1.16.3war
    3. Copy对应的lib的jar文件到工程的webINF的lib下,需要除junit和spring-test之外的所有文件,其中commons-io的jar包会在文件上传和下载时需要,其他为必须
    4. Copy对应的struts.xml到src目录,在package explorer视图进行操作
    5. 注释掉struts.xml的多余内容
    6. 建立HelloStruts2_1.jsp文件
    7. *修改jsp文件的默认编码属性window-preferences-web-jspfiles-设为Chinese,National Standard
    8. 在struts.xml中照原配置进行对应的配置
    9. 修改对应的web.xml,建立struts2的filter(参考struts自带的项目) 

                    技术分享

         5.运行项目

  1. 可以首先部署到tomcat上项目(Tomcat测试:http://localhost:8080)
  2. 也可以项目右键debug as – myeclipse server app,选择刚刚建立好的server
  3. 在浏览器中访问时地址是:http://localhost:8080/工程名字(/action名.action)

      encoding问题:

            技术分享

 

      6.其他

  1. 学习建立struts的dev-mode,好处在于我们修改了配置文件的时候能够自动热替换 (ctrl+S之后就可以在web browser中运行成功)
  2. 建立jar文件对应的源码struts-2.1.16.3/src/core/src/main/java,以及xwork对应的源码,以及对应的javadoc location,(更好的方式是建立自己的user-library)

         技术分享

 

         3.javadoc location

         4.浏览struts的目录

         将struts的代码导入视图:

       技术分享

 

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

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

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

    7.如何导入源码?比如action.class

        技术分享

 

   8.路径问题的说明

struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。<br />

<a href="http://www.mamicode.com/index.jsp">index.jsp</a>

<br />

虽然可以用redirect方式解决,但redirect方式并非必要。

<br />

解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)

<br />

或者使用myeclipse经常用的,指定basePath

9.导入或者复制工程

导入工程:import项目,如果导入的项目的jre和系统的不一样,删除项目中的jre重新导入自己的包。

技术分享

然后如图:

 技术分享

技术分享

 

 

复制工程:

技术分享

 

T是hellostruts的复制品。可是运行失败,应该注意:将web-root改为“项目名称”

 技术分享

 

10.namespace:

 技术分享

 

设“namespace=str"那么访问路径就是”http://localhost:8080/项目名称/str/action名(.action)“

11.action

自己在src中写的action.class编译后会放在web-inf.

HelloStruts