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 ...
随机推荐
- Ubuntu 18.04开启TCP网络协议BBR加速的方法(Google BBR 拥塞控制算法)
TCP BBR 是Google给出的一个改良版的tcp网络协议,相当于在已有TCP协议的基础上打了个补丁的意思,这个改良版TCP协议对拥塞控制有很好的支持,对于网络较差的环境有不错的应用场景,当然这里 ...
- PHP设计模式之观察者模式(转)
开篇还是从名字说起,“观察者模式”的观察者三个字信息量很大.玩过很多网络游戏的童鞋们应该知道,即便是斗地主,除了玩家,还有一个角色叫“观察者".在我们今天他谈论的模式设计中,观察者也是如此. ...
- flask中的request和response
1.request 1.request的常用成员 1.scheme : 获取请求方案(协议) 2.method : 获取本期请求的请求方式(重点) 3.args : 获取使用get请求方式提交的数据 ...
- POJ2425 A Chess Game(SG函数+记忆化深搜)
题目链接:传送门 题目大意: 在一个有N个点的拓扑图上(拓扑图以邻接表的形式输入),放M个棋子(棋子与棋子之间无关,可以重合). 两人轮流移动棋子,每次只能移动一个棋子经过一条边. 问先手是否必胜. ...
- lesson7cnn architecture-fastai
课程https://v.qq.com/x/page/e0398lijt8h.html 讲解: http://www.sohu.com/a/144583206_697750 resnet可以看作VGG1 ...
- CSS3动画那么强,requestAnimationFrame还有毛线用
http://www.zhangxinxu.com/wordpress/2013/09/css3-animation-requestanimationframe-tween-%E5%8A%A8%E7% ...
- 回收机制GC
.NET 之 垃圾回收机制GC 一.GC的必要性 1.应用程序对资源操作,通常简单分为以下几个步骤:为对应的资源分配内存 → 初始化内存 → 使用资源 → 清理资源 → 释放内存. 2.应用程序对资源 ...
- 【传输协议】TCP、IP协议族之数字签名与HTTPS详解
文章转载出自:https://blog.51cto.com/11883699/2160032 安全的获取公钥 细心的人可能已经注意到了如果使用非对称加密算法,我们的客户端A,B需要一开始就持有公钥,要 ...
- C++问题汇总
1.C++中类相互调用注意事项 (1)若A类中的方法需要调用B类中的函数,那么A类的源文件(或头文件)中需要包含B类的classs声明头文件.若使用了命名空间,还需要在B类的源文件(或头文件)中使用 ...
- window.onload与$(document).ready()
window.onload是原生JS事件,$(document).ready()是Jquery实现的与其作用类似的事件. 二者区别如下: 1.执行时间不同 $(document).ready()是DO ...