Struts2框架复习(一)--最基本的struts2框架
前言
最近离职在家,发现之前学习的Struts2框架由于长时间不使用有点生疏,有鉴于此写下此文以备自己复习使用,同时也供大家批评指正。
准备工作
我觉得Struts2主要就是对Servlet的封装,还有些其他功能。所以建议先学好了Servlet再学Struts2。我当时是在培训机构学的,开始不懂后来做多了,也就明白一些了。
本文基于JDK7,Struts2.3,Tomcat7,eclipse进行操作的。
使用Eclipse新建一个Java Web项目,如下图:(记得把项目编码改成UTF-8的,要不会出现中文乱码的)
注意:一定要勾选上面图片的生成web.xml的对号,否则要自己手动生成。
导包
下面的图片的图片是struts2.3的jar包,下载路径:https://pan.baidu.com/s/1kUVMtYR。
![](http://images2015.cnblogs.com/blog/694294/201702/694294-20170218151305238-751980643.png)
每个包的具体作用如下:
将上面的包放入项目的/WebContent/WEB-INF/lib中。
配置web.xml
Struts2是通过filter(拦截器)来启动的,因此web.xml需要为Struts2配置拦截器。
如图在org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter的init()(初始化)方法中将会自动搜索并读取struts.xml完成初始化操作。
注意:Struts2.1.3以下版本的Struts2拦截器对应的类是org.apache.struts2.dispatcher.FilterDispatcher
Struts2.1.3以上版本的Struts2拦截器对应的类是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter (本处用的是2.3所以是该类)
配置struts.xml
在项目的src目录下新建struts.xml(名字不能改,必须是小写的struts.xml)。
注意:有很多人说在src目录下建立struts.xml,有人说在项目的/WebContent/WEB-INF目录下新建struts.xml。其实都一样,因为src目录是项目默认的Source Folder文件,src下面的.Java文件都编译成了.class文件放入WEB-INF\classes文件夹下,xml文件也会被放在WEB-INF文件夹下。
上面只是个空的struts配置文件,主要是这个头文件是文本类别是
配置Action
struts2拦截到页面请求以后就会到struts.xml去查找对应的action处理请求。
新建包com.demo.action,新建类LoginAction.java,继承自com.opensymphony.xwork2.ActionSupport(也可以不必继承主要是为了方便)。
新建一个String属性message,生成setter和getter方法。
新建一个String方法execute()。还是上图方便。
展示页面
在项目的WebContent目录下新建index.jsp页面,页面内容如下:
注意:这个页面一定在WebContent下,不要写在WEB-INF下。
完善struts.xml
接下来就要把Action和展示页面配置到struts.xml中了。
启动测试
就项目放入tomcat中,启动tomcat,然后访问 http://localhost:8080/Struts2_DEMO/user/login 。
结果如下:
最新文章
- Ueditor百度网页编辑器开发者版java utf-8的使用
- activity管理
- 新版微耕软件(N3000)与旧版2000的实体功能区别
- 数据结构——动态链表(C++)
- Java集合中Set的常见问题及用法
- chrome://inspect 移动前端调试方案(Android + Chrome 实现远程调试)
- Core Text概述
- Eclipse hangs on loading workbench, eclipse停在启动界面的处理办法
- 《JAVA核心技术卷 卷1 基础知识》
- null值是不会算在count以内的
- java中main函数解析(转载)
- D - Specialized Four-Digit Numbers
- java应用程序远程登录linux并执行其命令(ssh jar包)
- BZOJ 3931: [CQOI2015]网络吞吐量( 最短路 + 最大流 )
- 实现文件下载的java代码
- Android性能优化:ViewStub
- Linux下查找某一文件常用的方式
- CORS:source,princple,implimentation in Spring
- C语法简单测试
- python 解析命令行