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. Ubuntu 18.04开启TCP网络协议BBR加速的方法(Google BBR 拥塞控制算法)

    TCP BBR 是Google给出的一个改良版的tcp网络协议,相当于在已有TCP协议的基础上打了个补丁的意思,这个改良版TCP协议对拥塞控制有很好的支持,对于网络较差的环境有不错的应用场景,当然这里 ...

  2. PHP设计模式之观察者模式(转)

    开篇还是从名字说起,“观察者模式”的观察者三个字信息量很大.玩过很多网络游戏的童鞋们应该知道,即便是斗地主,除了玩家,还有一个角色叫“观察者".在我们今天他谈论的模式设计中,观察者也是如此. ...

  3. flask中的request和response

    1.request 1.request的常用成员 1.scheme : 获取请求方案(协议) 2.method : 获取本期请求的请求方式(重点) 3.args : 获取使用get请求方式提交的数据 ...

  4. POJ2425 A Chess Game(SG函数+记忆化深搜)

    题目链接:传送门 题目大意: 在一个有N个点的拓扑图上(拓扑图以邻接表的形式输入),放M个棋子(棋子与棋子之间无关,可以重合). 两人轮流移动棋子,每次只能移动一个棋子经过一条边. 问先手是否必胜. ...

  5. lesson7cnn architecture-fastai

    课程https://v.qq.com/x/page/e0398lijt8h.html 讲解: http://www.sohu.com/a/144583206_697750 resnet可以看作VGG1 ...

  6. CSS3动画那么强,requestAnimationFrame还有毛线用

    http://www.zhangxinxu.com/wordpress/2013/09/css3-animation-requestanimationframe-tween-%E5%8A%A8%E7% ...

  7. 回收机制GC

    .NET 之 垃圾回收机制GC 一.GC的必要性 1.应用程序对资源操作,通常简单分为以下几个步骤:为对应的资源分配内存 → 初始化内存 → 使用资源 → 清理资源 → 释放内存. 2.应用程序对资源 ...

  8. 【传输协议】TCP、IP协议族之数字签名与HTTPS详解

    文章转载出自:https://blog.51cto.com/11883699/2160032 安全的获取公钥 细心的人可能已经注意到了如果使用非对称加密算法,我们的客户端A,B需要一开始就持有公钥,要 ...

  9. C++问题汇总

    1.C++中类相互调用注意事项 (1)若A类中的方法需要调用B类中的函数,那么A类的源文件(或头文件)中需要包含B类的classs声明头文件.若使用了命名空间,还需要在B类的源文件(或头文件)中使用 ...

  10. window.onload与$(document).ready()

    window.onload是原生JS事件,$(document).ready()是Jquery实现的与其作用类似的事件. 二者区别如下: 1.执行时间不同 $(document).ready()是DO ...