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

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

6.其他
- 学习建立struts的dev-mode,好处在于我们修改了配置文件的时候能够自动热替换 (ctrl+S之后就可以在web browser中运行成功)
- 建立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的更多相关文章
- Struts2第一个工程helloStruts极其基本配置
前面已经准备好了Struts-2.3.15,现在就可以直接搭建Struts2的工程了.前面http://blog.csdn.net/huangchnegdada/article/details/917 ...
- ActionMapping
在Struts中,ActionServlet只是任务的分派者,它依请求分配任务给其它的对象来执行,而分配的依据是请求的URI以及struts-config.xml的<action-mapping ...
- Struts2 初体验
Sturts是一款优雅的,可扩展性很强的框架.它是由Struts开发团队和WebWord团队合作,共同开发的一个新的产品.新版本的Struts2 更加容易使用,更加接近Struts所追求的理念.从开发 ...
- Struts框架的入门使用
1.struts框架的使用 导入jar包 1.commons-fileupload-1.2.jar 2. freemarker-2.3.15.jar 3.ognl-2.7.3.jar 4.struts ...
- struts2.3 创建工程
1:在该网站下载struts2.3.16.3,目前为最新版.http://www.struts.apache.org/download.cgi 不妨下载“Full Distribution”版本 下载 ...
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...
- 一脸懵逼学习Struts数据校验以及数据回显,模型驱动,防止表单重复提交的应用。
1:Struts2表单数据校验: (1)前台校验,也称之为客户端校验,主要是通过Javascript编程的方式进行数据的验证. (2)后台校验,也称之为服务器校验,这里指的是使用Struts2通过xm ...
- struts2第一天——入门和基本操作
一.概述 1.运用场景: 应用于三层架构中web层的框架(显示层的运用),是经典MVC模型的web应用的变体. 2.与struts1的对比: struts2是在struts1基于webwork发展的全 ...
- Struts2(一)
一.Struts下载地址 http://struts.apache.org/download.cgi 二.导入包.配置Web.xml和struts.xml 在下载的包中从示例中找到一些包就可以 str ...
随机推荐
- hadoop day 2
1.hdfs shell相关命令 #hadoop fs -ls / 查看HDFS根目录 #hadoop fs -mkdir /test 在根目录创建一个目录test #hadoop fs -mkdir ...
- 【转载】 Caffe BN+Scale层和Pytorch BN层的对比
原文地址: https://blog.csdn.net/elysion122/article/details/79628587 ------------------------------------ ...
- 【转载】 DeepMind用ReinforcementLearning玩游戏
原文地址: https://blog.csdn.net/wishchin/article/details/42425145 原文 : http://dataunion.org/?p=639 1.引言 ...
- MySQL篇,第一章:数据库知识1
MySQL 数据库 1 一.MySQL概述 1.什么是数据库 数据库是一个存储数据的仓库 2.哪些公司在用数据库 金融机构.购物网站.游戏网站.论坛网站... ... 3.提供 ...
- Justified Jungle
Problem J: Justified Jungle Time limit: 6 s Memory l imit: 512 MiB As you probably know, a tree is a ...
- htm基础知识,css的链入以及标签分类。
<!DocTYPE> DOC--Document 文档 TYPE 类型 文档类型 告诉浏览器这是什么文件 单标签: meta 设置 charset 设置编码 双标签: 开始 ...
- 矩阵快速幂(以HDU1757为例)
对于数据量大的求余运算,在有递推式的情况下,可以构造矩阵求解. A - A Simple Math Problem Lele now is thinking about a simple functi ...
- MYSQL 常用函数大全
1. 数学函数 greatest(x1,x2,...,xn)返回集合中最大的值 least(x1,x2,...,xn) 返回集合中最小的值 rand()返回0到1内的随机值,可以通过提供一个参数(种子 ...
- AangularJS相关术语
1. 数据模型对象(model object)是指$scope对象.$scope对象又是一个简单的JavaScript对象,其中的属性可以被视图访问,也可以同控制器进行交互. 2. $scope ...
- HTTP与TCP的区别和联系--转载
相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助. 一.基本概念 1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP ...