初学JSP:配置第一个Struts的配置过程

作者:网络 来源:佚名 更新时间:2008-11-17 15:20:33 点击:

  这篇文章主要针对有一定jsp编程经验的爱好者初学struts,如何配置struts过程的一个简单练习。

  首先下载struts软件包,到http://struts.apache.org/下载struts,struts各版本的差异很大,这里已struts1.2.9版本为例,解压缩包内容如下: 

  1、在tomcat安装目录下的webapps目录中建立一个webjx目录。这样就可以通过访问"http://localhost:8080/webjx"访问"webjx"这个目录。

  2、在你创建的目录webjx中,建立web-inf目录,在web-inf中建立classes、lib和tld文件夹。将压缩包struts-1.2.9-binlib文件夹中的commons-*.jar(*代表任意位任意字符)和struts.jar文件拷贝到建立的webjx/web-inf/lib目录下,然后将struts中的标签库文件struts-*.tld(*代表任意位任意字符)拷贝到webjx/web-inf/tld目录下

  3、在webjx/web-inf/目录下建立一个web.xml文件,文件内容如下:

<?xmlversion="1.0"encoding="iso-8859-1"?> 
<!doctypeweb-app 
 public"-//sunmicrosystems,inc.//dtdwebapplication2.2//en" 
 "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> 
<web-app> 
 <display-name>strutsblankapplication</display-name> 
 <!--standardactionservletconfiguration(withdebugging)--> 
 <servlet> 
  <servlet-name>action</servlet-name> 
  <servlet-class>org.apache.struts.action.actionservlet</servlet-class> 
  <init-param> 
   <param-name>application</param-name> 
   <param-value>applicationresources</param-value> 
  </init-param> 
  <init-param> 
   <param-name>config</param-name> 
   <param-value>/web-inf/struts-config.xml</param-value> 
  </init-param> 
  <init-param> 
   <param-name>debug</param-name> 
   <param-value>2</param-value> 
  </init-param> 
  <init-param> 
   <param-name>detail</param-name> 
   <param-value>2</param-value> 
  </init-param> 
  <load-on-startup>2</load-on-startup> 
 </servlet> 
 <!--standardactionservletmapping--> 
 <servlet-mapping> 
  <servlet-name>action</servlet-name> 
  <url-pattern>*.do</url-pattern> 
 </servlet-mapping> 
 <!--theusualwelcomefilelist--> 
 <welcome-file-list> 
  <welcome-file>index.jsp</welcome-file> 
 </welcome-file-list> 
 <!--strutstaglibrarydescriptors--> 
 <taglib> 
  <taglib-uri>/tags/struts-bean</taglib-uri> 
  <taglib-location>/web-inf/tld/struts-bean.tld</taglib-location> 
 </taglib>
 <taglib> 
  <taglib-uri>/tags/struts-html</taglib-uri> 
  <taglib-location>/web-inf/tld/struts-html.tld</taglib-location> 
 </taglib>
 <taglib> 
  <taglib-uri>/tags/struts-logic</taglib-uri> 
  <taglib-location>/web-inf/tld/struts-logic.tld</taglib-location> 
 </taglib>
 <taglib> 
  <taglib-uri>/tags/struts-nested</taglib-uri> 
  <taglib-location>/web-inf/tld/struts-nested.tld</taglib-location> 
 </taglib>
 <taglib> 
  <taglib-uri>/tags/struts-tiles</taglib-uri> 
  <taglib-location>/web-inf/tld/struts-tiles.tld</taglib-location> 
 </taglib>
</web-app>

|||

收集最实用的网页特效代码!

   4、在webjx/web-inf/目录下建立一个struts-config.xml文件,文件内容如下:

<?xmlversion="1.0"encoding="iso-8859-1"?> 
<!doctypestruts-configpublic 
     "-//apachesoftwarefoundation//dtdstrutsconfiguration1.2//en" 
     "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> 
<struts-config> 
  <form-beans> 
  </form-beans> 
  <global-forwards> 
  </global-forwards> 
  <action-mappings> 
  </action-mappings> 
  <message-resourcesparameter="applicationresources"/> 
</struts-config>

   说明:web.xml和struts-config.xml这两个文件可以压缩包struts-1.2.9-binwebappsstruts-blank.war文件直接拷贝到tomcat安装目录下的webapps目录中,启动tomcat服务器,struts-blank.war就会自动解压缩成一个文件夹struts-blank,复制struts-blank/web-inf下web.xml和struts-config.xml到webjx/web-inf下修改对应配置。

  5、然后在web-inf/classes中建立applicationresources.properties文件,其中输入:

  index.title=mystruts

  6、在webapps/webjx目录建立test.jsp文件,有如下内容:

<%@pagecontenttype="text/html;charset=gbk"%> 
<%@tagliburi="/tags/struts-logic"prefix="logic"%> 
<%@tagliburi="/tags/struts-bean"prefix="bean"%> 
<%@tagliburi="/tags/struts-html"prefix="html"%> 
<html:htmllocale="true"> 
  <head> 
    <title> 
      <bean:messagekey="index.title"/>
    </title> 
  </head> 
  <body> 
    你好 struts! 
  </body> 
</html:html>

   随后用http://localhost:8080/webjx/test.jsp访问该文件,如果页面显示"你好struts!"字样,并且页面标题是mystruts就是成功了。

  配置中注意事项:

  如果出现“cannotfindmessageresourcesunderkeyorg.apache.struts.action.message”,是说明找不到applicationresources.properties,要注意三方面设置。

  第一:在web.xml适当位置要有如下设置:

<init-param> 
  <param-name>application</param-name> 
  <param-value>applicationresources</param-value> 
</init-param>

   第二:在struts-config.xml中适当位置要有如下设置:

  <message-resourcesparameter="applicationresources"/>

  第三:确保applicationresources.properties文件在你建立的web-infclasses文件夹中,而且其中有关于index.title的设置(当然,以你要提取的key名称为准)。

  另外说明,你也可以把applicationresources.properties放到classes文件夹下其它目录,同时修改struts-config.xml中的对应设置。例如:

  将“applicationresources.properties”放入web-infclasses  est文件夹下。struts-config.xml中的对应设置:

  <message-resourcesparameter="test/applicationresources"/>