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="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的更多相关文章

  1. Struts2第一个工程helloStruts极其基本配置

    前面已经准备好了Struts-2.3.15,现在就可以直接搭建Struts2的工程了.前面http://blog.csdn.net/huangchnegdada/article/details/917 ...

  2. ActionMapping

    在Struts中,ActionServlet只是任务的分派者,它依请求分配任务给其它的对象来执行,而分配的依据是请求的URI以及struts-config.xml的<action-mapping ...

  3. Struts2 初体验

    Sturts是一款优雅的,可扩展性很强的框架.它是由Struts开发团队和WebWord团队合作,共同开发的一个新的产品.新版本的Struts2 更加容易使用,更加接近Struts所追求的理念.从开发 ...

  4. Struts框架的入门使用

    1.struts框架的使用 导入jar包 1.commons-fileupload-1.2.jar 2. freemarker-2.3.15.jar 3.ognl-2.7.3.jar 4.struts ...

  5. struts2.3 创建工程

    1:在该网站下载struts2.3.16.3,目前为最新版.http://www.struts.apache.org/download.cgi 不妨下载“Full Distribution”版本 下载 ...

  6. [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...

  7. 一脸懵逼学习Struts数据校验以及数据回显,模型驱动,防止表单重复提交的应用。

    1:Struts2表单数据校验: (1)前台校验,也称之为客户端校验,主要是通过Javascript编程的方式进行数据的验证. (2)后台校验,也称之为服务器校验,这里指的是使用Struts2通过xm ...

  8. struts2第一天——入门和基本操作

    一.概述 1.运用场景: 应用于三层架构中web层的框架(显示层的运用),是经典MVC模型的web应用的变体. 2.与struts1的对比: struts2是在struts1基于webwork发展的全 ...

  9. Struts2(一)

    一.Struts下载地址 http://struts.apache.org/download.cgi 二.导入包.配置Web.xml和struts.xml 在下载的包中从示例中找到一些包就可以 str ...

随机推荐

  1. mysql设置外键约束开启-关闭

    在MySQL中删除一张表或一条数据的时候,出现 [Err] 1451 -Cannot delete or update a parent row: a foreign key constraint f ...

  2. $interpolateProvider

    angular.module('emailParser', []) .config(['$interpolateProvider', function($interpolateProvider) { ...

  3. Rodrigues(罗德里格斯)旋转公式推导

    1. 2.推导过程:我们的目的是求得vrot,所以应该求得v||和vrot在垂直于k方向的投影向量. 其中, 俯视图看: 此外,另一种表示方法为: R可以看作旋转矩阵.

  4. HDU 1159:Common Subsequence(LCS模板)

    Common Subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  5. NET Core 实战 Dapper 扩展数据访问

    NET Core 实战:基于 Dapper 扩展你的数据访问方法 一.前言 在非静态页面的项目开发中,必定会涉及到对于数据库的访问,最开始呢,我们使用 Ado.Net,通过编写 SQL 帮助类帮我们实 ...

  6. BinarySearch(Java)

    private int binarySearch(int[] input, int target) { if (input == null) { return -1; } int index1 = 0 ...

  7. php基础-4

    require和include require和include都是导入外部php文件的方法,使用方法为require和include关键字后接导入包(php_file)的名字的字符串形式. 当导入的包 ...

  8. 安装部署redis3.2 phpRedisAdmin 攻略

    1.下载redis3.2稳定版本: 下载地址:  https://redis.io/download 2.安装: 解压文件后,进行文件夹: 执行以下命令: make cd src make insta ...

  9. Python3实现生成验证码图片

    import randomfrom PIL import Image, ImageFont, ImageDrawfrom io import BytesIOfrom ttt import settin ...

  10. java知识整理

    整理一下Java知识点. 一.final finally finalize区别 1.final 修饰符(关键字).被final修饰的类,不能再派生出新的子类,不能作为父类而被子类继承.因此一个类不能既 ...