简单搭建STRUTS2项目...

下面给大家分享一下如何从零开始,搭建一个简单的struts2项目。这个是我的个人经验,请高手指出不足之处。


STEP 1:

ECLIPSE下载:https://www.eclipse.org/downloads/eclipse-packages/

TOMCAT下载:http://tomcat.apache.org/

STRUTS2下载:http://struts.apache.org/download.cgi#struts23163


ECLIPSE有很多种类型,选择JAVA EE,JAVA EE点进去以后也有很多版本,随便选择一个。


TOMCAT自己要确保已经安装成功,而且启动一下,在浏览器输入:http://localhost:8080/ , 如果可以正常显示TOMCAT欢迎页面,那就成功,当然你的端口号不一定是8080,这个看你安装时候的配置,详细的TOMCAT安装,这里不再重复。


STRUTS2的下载,是要下载那个带有-all的那个:


下面给出我的版本:

ECLIPSE:Version: Mars.2 Release (4.5.2);TOMCAT:apache-tomcat-7.0.68;STRUTS2:struts-2.3.32

你们的版本不一定要和我的相同,因为你们看到我这篇文章的时候,可能已经更新了很多新版本了。

好,我假设大家已经安装好一个ECLIPSE,一个TOMCAT,下载好STRUTS2所要的JAR包。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

STEP 2:

新建一个WEB项目,如下图点击菜单:


如果你的eclipse没有Dynamic Web Project这个选项,你看下是不是插件没有装好,通常JAVA EE都是有的,详细请百度。

然后输入项目名字,我这里起的是Struts2HelloWorld,名字随便起,然后你们配置一下Target runtime,如果有,就不用了。


选择自己安装好的TOMCAT版本,我是TOMCAT7:


按下一步,选择TOMCAT安装的根目录,什么是安装的根目录?就是当你看到bin这个文件夹的上一级目录:


之后按确定,然后按next,不要直接按finish,否则你创建出来的项目可能会没有WEB.XML,一直按NEXT,去到最后那步,勾上那个checkbox:


最后按finish,你应该看到如下项目:


最后在WebContent下面的WEB-INF下的lib中加入如下9个jar包,这9个jar包在你下载的struts2.zip里面的lib文件下应该都有,可能版本号不一样,但没有关系。

有的人说直接把下载的所有struts2的jar全部加进去进去,我不建议这样,因为有些jar包还依赖其它jar包,但其实你下载的struts2.zip里面并没有它所依赖的其它jar包。


如果你已经做到这步,那么成功了一半了。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

STEP 3 :

配置WEB.XML,其实除了圈红的那些代码,其它都是ECLIPSE生成的,如果想知道它们的意思和作用,可以再去百度一下,我们主要添加的就是圈红的那组代码:


  <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>

之后就要写一个action,action其实就是一个java类:

先在src文件夹下new一个package,我的命名是:com.kevin.action...然后按finish...

然后再在这个package下建一个class,这个class就是action:

输入类名,输入名字以后,先不急着按finish,按一下add:

在输入框中打“action”,然后选择第一个:

最后按finish,然后在生成的action中,加一个String的变量,记得给出get,set方法,然后在excute方法中,给它一句话,以后用来传去前台,再system.output一句话,当我们输入网址以后,方便在cosole那里看一下,是否进入到action的excute方法,方便定位,最后return SUCCESS:

然后我们在WEB-INF文件夹下建一个JSP文件,注意编码方式为UTF-8,然后加个${information},获取后台的变量值:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>欢迎来到KEVIN的世界</title>
</head>
<body>

<h2>${information}</h2>

</body>
</html>

最后在src文件夹下,建一个struts2.xml,然后添加如下代码:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC  
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
    "http://struts.apache.org/dtds/struts-2.0.dtd">  
  
<struts>  
    <package name="HelloWorld" extends="struts-default">  
        <action name="HelloWorldAction" class="com.kevin.action.HelloWorldAction" method="execute">  
            <result name="success">/WEB-INF/HelloWorld.jsp</result>  
        </action>       
    </package>  
</struts>

这里要注意了,action里面的name属性,你可以随便写,但是后面的那个class,一定要对应上:包名+action类名,然后那个method,要对应到刚才action里面的那个excute,不能乱写,然后relust那里就是返回的页面,如果你的JSP是放在/WEB-INF下面,那前面就要加上/WEB-INF,否则404...到这里,我们基本搭建完了,一个action,一个web.xml,一个jsp,一个struts2...一共4样东西...

----------------------------------------------------------------------------------------------------------------------------------------------------

STEP 4 :

最后部署在tomcat上:

部署完以后,直接用debug运行起来:

这里要注意了,看下concole,有没有报错,如果报错,就检查前面的步骤,下面是其中一种报错,缺jar包:

报错的原因有很多,一个个排查,直到完全跑起来,并不报任何错:

最后在浏览器中输入网址,试一下,按照我的配置,我的网址应该是:http://localhost:8080/Struts2HelloWorld/HelloWorldAction,其中Struts2HelloWorld是我们的项目名字,HelloWorldAction是我们的action名字,网址打到这里,就已经OK了,因为我们配置了struts.xml,它会找到HelloWorldAction这action,然后进到对应的类,对应的excute方法,执行java代码,然后return到我们指定的jsp页面:

最后,看下console,确实输出了方法excute里面的那句话,货真价实地进入了action类,然后转跳到JSP页面:

如果有错,请各位大神指出...小弟在此抛砖引玉....

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值