Struts2项目搭建

来源:互联网 发布:淘宝成功的因素 编辑:程序博客网 时间:2024/04/29 12:09

老规矩,首先对Struts2的背景信息做简单介绍,这里不过多解释MVC设计模式是如何如何的,Struts2是MVC中Controller角色的一个较好实现,它包含了请求的处理、数据的验证、数据模型绑定、安全验证、日志记录、类型转换等开发常用的大部分技术需求,较新的Struts2版本同样兼容JDK的新版本中技术,从总体来说,它确实是一个不错的框架,本着“学了的东西不一定能用得上,但是用的时候必须要有”的精神,下面开始准备搭建一个Struts2项目;

首先说一下,学习Struts2对技术的基本要求:

  • Java技术
  • Filters,JSP,and Tag Libraries
  • JavaBeans
  • HTML 和 HTTP
  • Web Containers(比如Tomcat,Jetty)
  • XML
另外Struts2要求,Servlet API 2.4以上,JSP版本2.0或以上,JDK版本1.7或以上,好了废话不多说了,开始搭建Struts项目,本次项目搭建,从官网上下载的Struts 2.3.30版本的,官网目前最高支持到2.5版本的,由于新版本后期在于其它框架整合时,可能会有一些兼容性的问题,所以采用稍微稳定点的版本;


1、新建一个Web项目,如下设置,PS下:千万不要怕类名、包名、项目名称等长度长,只要规范达意即可,如下图设置,我是用的MyEclipse10版本的工具,目前最高支持到Java EE 6.0,对技术要求不是过于新的完全够用;


有时候会弹出,如下框,表示你的根据你的JavaEE版本推断出的JDK版本与你当前的版本不一致,是否需要改成推荐的,这个点击Yes就可以了

新建完毕后的项目结构如下:


2、大家都知道由于要使用Struts2框架的功能,那么肯定要把框架的Jar文件放进去,那么往下载完的lib目录里面一看,不算各种插件Jar文件,发现有106个jar文件,显然这些并不都需要,那么如何筛选必须的Jar包呢?仔细查看下载的文件会发现,有一个apps文件夹,里面放了5个实例项目,这些实例项目里面的jar肯定是能让项目正常跑起来的,所以,我们做的工作就是解压->复制Jar->粘贴Jar文件到咱们自己项目的lib文件夹下,然后刷新项目,就可以了,完成之后,项目结构如下:


3、下面开始通过配置文件,让Struts2接管以前由Servlet处理请求和响应的任务,找到项目中的web.xml,添加如下配置:
<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
由此,由于url-pattern元素,可以匹配所有请求,那么所以的请求都会通过Struts2的过滤器交由Struts2接管,那么Struts2就正式纳入到Web项目中;

4、问题来了,Struts2虽然确实纳入到Web项目里面去了,但是由于Struts2还要创建Controller类等,那么这些类的信息在哪里配置的呢?还是找到app下面的任意一个项目,会发现有一个struts.xml文件,打开后发现,在这个配置文件中,配置这各种Bean的信息,好的,我们将这个文件复制过来,放到src目录下,然后做简单配置,配置完如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.devMode" value="true" />    <package name="default" extends="struts-default">    <action name="login" class="com.struts.action.LoginAction">    <result name="success">/welcome.jsp</result>    </action>    </package></struts>
然后在src目录下,新建com.struts.action包,以及LoginAction类,代码如下:
package com.struts.action;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {@Overridepublic String execute() throws Exception {System.out.println("我的第一个Struts2项目搭建成功!!!");return SUCCESS;}}
在WebRoot文件夹下面,新建welcome.jsp页面,JSP页面代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>My JSP 'welcome.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page">  </head>    <body>    <h1>恭喜你,Struts2项目搭建成功!!</h1>  </body></html>

此时,项目目录结构如下:


5、在Tomcat服务器,配置项目,这里推荐的方式是找到Tomcat的安装目录的conf文件夹里面的server.xml文件,


打开,找到里面的Host元素,在其下,添加如下配置:
<Context path="struts" docBase="D:/ME_WorkSpace/FirstStruts2Project/WebRoot" reloadable="true"/>

到此,配置完毕,启动服务器,查看MyEclipse控制台,如果正常启动的话,无异常信息,然后在地址栏输入:
http://localhost:8080/struts2/login
会在控制台和浏览器打印出:




至此,搭建环境成功!!

特别需要注意的是在web.xml和struts.xml上面配置的内容!




































6 0
原创粉丝点击