其他学习任务
1.学习建立struts的dev-mode,好处在于我们修改了配置文件的时候能够自动热替换(devMode即开发模式)
例如:当把struts.xml中action的name修改为hello_struts时输入http://127.0.0.1:8080/Struts2_0100_Introduction/hello_struts出错,
原因:修改后不能立即反馈,需要重启服务器才能完全修改
解决办法:从struts.xml注释掉的内容中copy出来 这样改为后马上有反馈
注意:如果初始value值为false,应改为true
/Hello.jsp
2.MyEclipse中显示struts的源码 和doc文档
建立Jar文件对应的源码:在你做下载的struts-2.1.6解压后struts-2.1.6/src/core/src/main/java,以及xwork对应的源码,以及对应的javadoc location,(更好的方式是建立自己的user-library)
1)看源码
例如:在web.xml中有一行
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
想看org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter,这是一个类。
a) 用上面方法一手动导入jar包在:
项目名称--->web app Libraries-->struts2-core-2.2.1-->org.apache.struts2.dispatcher.ng.filter-->org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.class 并不能看到源码,
要进行设置:
右键struts2-core-2.2.1-->Properties--Java Source Attachment-->External Folder(下载的Struts jar包-->src-->core-->src-->main-->java)
b)myeclipse自动导入struts2包在:项目名称-->Struts2 Core Libraries下
2)看doc文档
项目名称-->Struts2 Core Libraries-->struts2-core-2.2.1-->右键-->Properties-->Javadoc Location-->Javadoc URL-->Browser(下载解压的Struts2.3.16.1-->docs-->WW-->docs-->struts2-core-->apidocs)-->apply-->OK
随便新建一个T类
public class T {
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter f;
}
鼠标覆盖类名StrutsPrepareAndExecuteFilter,同时按F1,myeclipse右侧出现
相应的
java.doc
,点击后可查看StrutsPrepareAndExecuteFilter的
doc
文档
下一个项目在上一个项目上Copy,这样相关设置就不用再设了
3.如何导入项目
1)拷贝项目
a)Ctrl+c
b)在项目显示栏ctrl+v,另起一个名字Test.
c)部署到Tomcat服务器
d)Test项目右键-->Properties-->Myeclipse-->Web-->Web COntent -->root改为/Test
2)导入别人项目
a)Import-->General-->Existing Project into Workspace
b)
c)唯一可能出现问题的地方
如果别人项目引用的是JRE System Library,而你的不叫这名,且放在了别的路径,这时需将其去掉,重新配置一下。
即:项目右键-->Bulid Path-->Configure Bulid Path-->Libraries-->Add Library-->JRE System Library-->Workspace default JRE-->OK
4.改jsp编码格式(默认为iso)
Window-->Proferences-->搜索jsp-->Encoding改成Chinese National Standard
5.浏览struts的目录
6.认识eclipse jee的项目部署目录,认识如何修改webapp的context-root,项目copy改名后可能会出现的问题
7.package explorer – 建立jar的源文件和目标关联,navigator – 观察所有的内容
8.认识Action的后缀名,在struts2默认中,带不带action都可以
常见问题
1.struts.xml不自动提示
a)window – preferences – 搜索 catalog(得到XML-->XML Catalog) – add
b)选择key type为URI
c)key: http://struts.apache.org/dtds/struts-2.0.dtd(在struts.xml文件里有此地址)
d)location: 对应的dtd文件,位于下载并解压的Struts2.3.16.1-->lib-->struts2-core-2.3.16.1-->解压开--打开后可以看到struts-2.0.dtd。在location一栏填 如:D:\share\0750_Struts2.1.6\soft\struts-2.1.6\lib\struts2-core-2.1.6\struts-2.0.dtd
2.导入示例项目
a)注意JDK的版本,应该是JDK6,否则会出class version的问题
b)如果总是项目出问题,可以重建项目,单独拷文件
c)还有一种情况是项目右键,properties – java – compiler 选择6.0
d)另外,在tomcat配置中也要使用jdk6
3.devMode设为true就会出问题空指针问题
a)tomcat路径带了空格
4.在使用ActionContext.getContext().get(“request”)取不到对象,为null值
a)web.xml不要使用2.0的filter,用新的
5.在action的试验中,遇到一个奇怪的bug
a)用default-action-ref指定一个action
b)用*_*映射
c)在地址栏中访问一个不存在的action,如adfsdfsfs
d)结果居然会映射到*_*上
e)如果换成*__*就没问题了
f)靠,只能认为是bug
g)下次用*-*,不用*_*
1.先阅读老师的代码
2.再建立自己的项目进行动手学习