配置struts 使之配置修改后即可生效

 
一.把struts.xml的struts标签内加入以下配置
<constant name="struts.devMode" value="true" /> // 这一句可以使struts.xml 文件修改后自动加载 ,而不可以使 src 下面的 Java类加载,如果 自定义的 action类加载,要想使自定义的action 类加载 ,那么就要安装一个叫 jrebel 的插件.而在网上的在 tomcat 服务器里面的 comtext.xml 文件中加 <context readable="true">,这个在修改了 src 下的Java文件后确实会自动加载,但它是要自动部署,而部署的时间是很长的时, 如果tomcate下面的项目多的话,那么可能就要上好几秒钟,那是无法忍受的
1.问题:

  一直以来,虽然在使用MyEclispe+Tomcat在Eclipse里面启动tomcat可以DEBUG JAVA类代码,但是一旦DEBUG发现代码有问题,修改后需要重新启动容器才能生效.

  2.解决:

  使用tomcat5.5.xx以上版本后,只要配置tomcat不因为类的修改重新加载容器。那么你如果只是修改了类的实现(方法体内的代码),而不是添加或删除类的方法和成员变量。tomcat是可以直接运行的。即:只要修改tomcat的Server.xml的Context的配置,就可以在MyEclipse里面DEBUG和直接修改代码而不重新Tomcat重新加载你的修改,很大的提高调试的效率。具体配置很简单:

  server.xml

  <Host name="localhost" appBase="webapps"

    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
        <Context path="/media" docBase="D:tempmedia"/>
        <Context path="" docBase="D:workspacevoice_internetsrcmainwebapp"/>
   </Host>
<?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>
    <!-- 开启使用开发模式,详细错误提示 --> 
    <constant name="struts.devMode" value="true"/>
    <!-- 指定每次请求到达,重新加载资源文件 --> 
    <!-- <constant name="struts.i18n.reload" value="true"/>--> 
    <!-- 指定每次配置文件更改后,自动重新加载 --> 
    <!-- <constant name="struts.configuration.xml.reload" value="true"/>--> 
    <!-- 指定XSLT Result使用样式表缓存 --> 
    <!-- <constant name="struts.xslt.nocache" value="true"/>--> 
  <!-- package将多个action 组织为一个模块的方式,package名字必需唯一. -->
    <package name="default" namespace="/abc" extends="struts-default"><!-- namespace/actionname 表示访问些控制器的URL,一定要加 /-->
  <action name="login" class="action.LoginAction">
   <result name="success">/welcome.jsp</result>
   <result name="error">/error.jsp</result>
  </action>
  <action name="display" class="action.BookAction">
   <result name="success">/display.jsp</result>
   <result name="error">/error.jsp</result>
  </action>
 </package>
</struts>    

你可能感兴趣的:(配置struts 使之配置修改后即可生效)