Structs2入门(1): 简介和 IDEA 部署

Struts2简介
Struts2是一种成熟的基于MVC设计模式的Web应用程序框架, 相比于Structs1,Strcuts2提供更加强大的MVC架构,更加简洁的配置方式;
 
以下是一些Structs2的优势:
  • POJO表单和POJO动作 - Struts2的Struts框架已经摆脱了动作表单组成部分, Struts2可以使用任何POJO接收的形式输入。同样现在可以看到任何POJO作为一个Action类。
  • 标签支持 - Struts2中,提高了表单标签和新标签允许开发人员编写更少的代码。
  • AJAX 支持- Struts2中已确认由Web2.0技术接管,并整合到产品中,通过创建AJAX标签,功能非常相似的标准Struts2 标签AJAX支持。
  • 易于整合 - Struts2 集成各种整合与其他框架如Spring,Tiles 和SiteMesh是现在更容易。
  • 模板支持 - 支持生成使用模板。
  • 插件支持 - 可以提高核心Struts2的特性,并增强使用插件。大量的插件可供Struts2。
  • 性能分析 - Struts2的分析,调试和分析应用程序提供了集成。除此之外,Struts还提供了集成的内置调试工具调试。
  • 易于修改标签 - Struts2的标签标注,可以调整使用Freemarker的模板。这并不需要JSP或Java知识。基本HTML,XML和CSS知识是足够修改标签。
  • 提倡少配置 - Struts2 促进较少的配置的帮助下,使用默认的各种设置值。不必配置的东西,除非它不符Struts2的默认设置。
  • 视图技术: - Struts2中有一个很大的支持多个视图选项 (JSP, Freemarker, Velocity 和 XSLT)
Structs的下载地址:http://struts.apache.org/download.cgi

Strcuts2体系结构

Struts2是一个上拉型MVC(MVC2)框架。在Struts2的模型 - 视图 - 控制器模式,由下5个核心部件实现:
  • Actions
  • Interceptors
  • Value Stack / OGNL
  • Results / Result types
  • View technologies
Structs2入门(1): 简介和 IDEA 部署
 
Controller 实现 Struts2 对于 Servlet 过滤器,拦截器 的调度;
Model 是实施行动和结果类型和结果的组合视图;
Stack/OGNL 提供的共同点,其他组件之间的连接和集成;
 
在Structs2中的请求声明周期:
  • 用户发送请求到服务器的某些资源的请求(即页面);
  • FilterDispatcher 查看请求,然后确定适当的 Action;
  • 配置的拦截功能,适用于如验证,文件上传等;
  • 所选的 Action 执行所请求的操作,Interceptor 做任何后期处理;
  • 最后其结果由视图准备,并且将结果返回给用户;
 
 

IDEA 创建部署 Struts2

Intelij IDEA 提供了直接创建Struts2应用的功能,具体的步骤如下:
 
1)创建structs2项目
【File -> New -> Project ->选择Java Enterprise - Web Application - Struts2】,之后next,对项目命名之后finish;
Structs2入门(1): 简介和 IDEA 部署
 创建后的项目目录如下:
Structs2入门(1): 简介和 IDEA 部署
 
2)修改结构目录
我们可以修改项目的结构目录,使其更加符合一般的JavaWeb结构目录,在web/WEB-INF/目录下创建文件夹 lib和classes,将/lib下的包复制到 /web/WEB-INF/lib下;
Structs2入门(1): 简介和 IDEA 部署

 之后修改项目结构;
【File->Project Structure->Module->Paths】,勾选“Use module compile output path”,修改“Output path”和“Test Output path”为新创建的classes路径;
Structs2入门(1): 简介和 IDEA 部署

 【File->Project Structure->Module->Dependencies】,删除掉原来被划了红线的“Struts2”,右边“+”,添加"JARs or Directories" ,选择新创建的lib目录,之后在Dependencies面板勾选“Tomcat”和 新添加的路径;
Structs2入门(1): 简介和 IDEA 部署
  
【File->Project Structure->Libraries】,删除原来红字的Classes项目
Structs2入门(1): 简介和 IDEA 部署
 
【File->Project Structure->Facets->Struts2】
删除原来的Default File Set 2 内容;
Structs2入门(1): 简介和 IDEA 部署
 点击“+”,添加“struts.xml”和“struts-default.xml”项;
Structs2入门(1): 简介和 IDEA 部署
结果如下:
Structs2入门(1): 简介和 IDEA 部署
 
【File->Project Structure->Facets->Artifacts】
勾选 “Build on make”和“Show content of elements”,如果最下方出现警告,点击“Fix”,选择“Add libraries to artifact”;
Structs2入门(1): 简介和 IDEA 部署
 

 
3)设置调试服务器Tomcat
【Run->Run Configurations 】点击“+”,添加”Tomcat->local“,设置相关参数;
Structs2入门(1): 简介和 IDEA 部署
切换到"Deployment"面板,设置Application context,设置为项目工程名就好;
Structs2入门(1): 简介和 IDEA 部署
 
4)测试
直接点击界面的运行按钮,就会自动编译打包项目,并弹出默认浏览器访问项目;
Structs2入门(1): 简介和 IDEA 部署