struts-config.xml文件,配置元素
struts框架配置文件详细说明
=============================================================================
Struts1.X整个工作流程 博客分类: Struts1.X
工作StrutsXMLJSPWeb.把我看到的和知道的整理出来。
=============================================================================
对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,
把它们存放到各种配置对象中,例如Action的映射信息存放在ActionMapping对象中。(struts的配置文件struts-config.xml:一个用户请求是
通过ActionServlet来处理和转发的。那么,ActionServlet如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和
Action映射关系的配置信息了。在Struts中,这些配置映射信息都存放在特定的XML文件struts-config.xml中。在该配置文件中,每一个
Action的映射信息都通过一个<action>元素来配置。这些配置信息在系统启动的时候被读入内存,供Struts在运行期间使用。在内存中,每一个
<Action>元素都对应一个org.apache.struts.aciton.ActionMapping的实例)
/**********************
用户通过客户端向服务器发出一个请求,而我们已经在web.xml配置了所有符合某某格式的请求都将由指定的Servlet来处理。比如说:只要是
以.do结尾的请求(*.do)都由org.apache.struts.action.ActionServlet来对其进行处理。而ActionServlet和ActionMapping都已经在服务器
启动的时候被加载到内存里面。
结合登录例子:
当用户登录时,地址栏的URL为:http://localhost:8080/struts_login/login.do
ActionServlet会拿到用户的请求,并且去分析这个URL,它会截下/login(不包含.do)这一部分,截来之后,它的目的是为了去struts-config.xml
这个配置文件里面找<action>标签path属性的值等于所截部分的那个Action。找到之后,ActionServlet会把表单提交的数据给存放到ActionForm上,
那ActionServlet又是怎么找到ActionForm的呢?因为Action标签里面有一个属性是name,它的值就是所要找的ActionForm的名字,这样ActionServlet
会去上面的<form-beans>标签里面找<form-bean>(注意不是<form-beans>)标签里面的name属性的值是与Action标签里面的name的值相等的<form-bean>,
然后根据<form-bean>里面type属性的值,也就是所指的对象new一个实例,再把表单上相应的数据set进去。同时把<action>标签里面的东西放到继承
Action类的那个指定类(本例子用的是LoginAction)的public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request
, HttpServletResponse response)
throws Exception
这个方法里面参数mapping里面去,放好之后,再去调用我们自己写的类(LoginAction),并把mapping,form,request,response作为参数传到execu
struts框架配置文件详细说明
te方法里面去。
至于如何转向的问题:这是由Struts完成的,只要你的execute能返回一个ActionForward对象,并且里面包含有转向的信息,Struts就会根据参
数(mapping.findForward("success")里面的"success")去找相应配置文件(struts-config.xml)里面的相应标签(<forward name="success" path=
"/login_success.jsp"></forward>),然后再由Struts框架决定转向谁。由于上面已经说过,整个转向的相关信息已经存放在mapping里面,所以
mapping.findForward("success")能够找到相应的标签。
*/--这部是我自己增加的,其余都是出自《精通Struts基于MVC的Java.Web设计与开发》
当ActionServlet接收到一个客户请求时,将执行如下流程:
(1) 检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效的信息。
(2) 如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。
(3) 根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的validate()方法。
(4) 如果ActionForm的validate()方法返回null返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功。
(5) ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,
然后调用Action的execute()方法。
(6) Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。
(7) ActionForward对象指向的JSP组件生成动态网页,返回给客户。
对于以上流程的流程(4),如果ActionForm的validate()方法返回一个包含一个或多个ActionMessage的ActionErrors对象,就表示表单验证失败,
此时ActionServlet将直接把请求转发给包含用户提交表单的JSP组件。在这种情况下,不会再创建Action对象并调用Action的execute()方法。
=================================================================================
以下是一份完整的struts-config.xml文件,配置元素的说明详见注释.
=================================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://doc.guandang.net/struts/dtds/struts-config.dtd">
<!-- struts-config.xml中的元素必须按照上述doc指令中的dtd文档定义顺序书写,本例即遵从了dtd定义顺序 -->
<!-- struts-config是整个xml的根元素,其他元素必须被包含其内 -->
<struts-config
>
<!--
名称:data-sources
描述:data-sources元素定义了web App所需要使用的数据源
数量:最多一个
子元素:data-source
-->
<data-sources>
<!--
名称:data-s
struts框架配置文件详细说明
ource
描述:data-source元素定义了具体的数据源
数量:任意多个
属性:
@key:当需要配置多个数据源时,相当于数据源的名称,用来数据源彼此间进行区别
@type:可以使用的数据源实现的类,一般来自如下四个库
Poolman,开放源代码软件
Expresso,Jcorporate
JDBC Pool,开放源代码软件
DBCP,Jakarta
-->
<data-source key="firstOne" type="http://doc.guandang.netmons.dbcp.BasicDataSource">
<!--
名称:set-property
描述:用来设定数据源的属性
属性:
@autoCommit:是否自动提交 可选值:true/false
@description:数据源描述
@driverClass:数据源使用的类
@maxCount:最大数据源连接数
@minCount:最小数据源连接数
@user:数据库用户
@password:数据库密码
@url:数据库url
-->
<set-property property="autoCommit" value="true"/>
<set-property property="description" value="Hello!"/>
<set-property property="driverClass" value="com.mysql.jdbc.Driver"/>
<set-property property="maxCount" value="10"/>
<set-property property="minCount" value="2"/>
<set-property property="user" value="root"/>
<set-property property="password" value=""/>
<set-property property="url" value="jdbc:mysql://localhost:3306/helloAdmin"/>
</data-source>
</data-sources>
<!--
名称:form-beans
描述:用来配置多个ActionForm Bean
数量:最多一个
子元素:form-bean
-->
<form-beans>
<!--
名称:form-bean
描述:用来配置ActionForm Bean
数量:任意多个
子元素:form-property
属性:
@className:指定与form-bean元素相对应的配置类,一般默认使用org.apaceh.struts.config.FormBeanConfig,如果自定义,则必须继承 FormBeanConfig
@name:必备属性!为当前form-bean制定一个全局唯一的标识符,使得在整个Struts框架内,可以通过该标识符来引用这个ActionForm Bean。
@type:必备属性!指明实现当前ActionForm Bean的完整类名。
-->
<form-bean name="Hello" type="myPack.Hello">
<!--
名称:form-property
描述:用来设定ActionForm Bean的属性
数量:根据实际需求而定,例如,ActionForm Bean对应的一个登陆Form中有两个文本框,name和password,ActionForm Bean中也有这两个字段,则此处编写两个form-property来设定属性
属性:
@className:指定与form-property相对应的配置类,默认是org.apache.struts.config.FormPropertyConfig,如果自定义,则必须继承FormPropertyConfig类
@name:所要设定的ActionForm Bean的属性名称
@type:所要设定的ActionForm Bean的属
性值的类
@initial:当前属性的初值
-->
<form-property name="name" type="http://doc.guandang.netng.String"/>
<form-propert
struts框架配置文件详细说明
y name="number" type="http://doc.guandang.netng.Iteger" initial="18"/>
</form-bean>
</form-beans>
<!--
名称:global-exceptions
描述:处理异常
数量:最多一个
子元素:exception
-->
<global-exceptions>
<!--
名称:exception
描述:具体定义一个异常及其处理
数量:任意多个
属性:
@className:指定对应exception的配置类,默认为org.apache.struts.config.ExceptionConfig
@handler:指定异常处理类,默认为org.apache.struts.action.ExceptionHandler
@key:指定在Resource Bundle种描述该异常的消息key
@path:指定当发生异常时,进行转发的路径
@scope:指定ActionMessage实例存放的范围,默认为request,另外一个可选值是session
@type:必须要有!指定所需要处理异常类的名字。
@bundle:指定资源绑定
-->
<exception
key=""hello.error
path="/error.jsp"
scope="session"
type="hello.HandleError"/>
</global-exceptions>
<!--
名称:global-forwards
描述:定义全局转发
数量:最多一个
子元素:forward
-->
<global-forwards>
<!--
名称:forward
描述:定义一个具体的转发
数量:任意多个
属性:
@className:指定和forward元素对应的配置类,默认为org.apache.struts.action.ActionForward
@contextRelative:如果为true,则指明使用当前上下文,路径以“/”开头,默认为false
@name:必须配有!指明转发路径的唯一标识符
@path:必须配有!指明转发或者重定向的URI。必须以"/"开头。具体配置要与contextRelative相应。
@redirect:为true时,执行重定向操作,否则执行请求转发。默认为false
-->
<forward name="A" path="/a.jsp"/>
<forward name="B" path="/hello/b.do"/>
</global-forwards>
<!--
名称:action-mappings
描述:定义action集合
数量:最多一个
子元素:action
-->
<action-mappings>
<!--
名称:action
描述:定义了从特定的请求路径到相应的Action类的映射
数量:任意多个
子元素:exception,forward(二者均为局部量)
属性:
@attribute:制定与当前Action相关联的ActionForm Bean在request和session范围内的名称(key)
@className:与Action元素对应的配置类。默认为org.apache.struts.action.ActionMapping
@forward:指名转发的URL路径
@include:指名包含的URL路径
@input:指名包含输入表单的URL路径,表单验证失败时,请求会被转发到该URL中
@name:指定和当前Acion关联的ActionForm Bean的名字。该名称必须在form-b
ean元素中定义过。
@path:指定访问Action的路径,以"/"开头,没有扩展名
@parameter:为当前的Action配置参数,可以在Action的execute()方法中,通过调用ActionMapping的getParameter()方法来获取参数
struts框架配置文件详细说明
@roles:指定允许调用该Aciton的安全角色。多个角色之间用逗号分割。处理请求时,RequestProcessor会根据该配置项来决定用户是否有调用该Action的权限
@scope:指定ActionForm Bean的存在范围,可选值为request和session。默认为session
@type:指定Action类的完整类名
@unknown:值为true时,表示可以处理用户发出的所有无效的Action URL。默认为false
@validate:指定是否要先调用ActionForm Bean的validate()方法。默认为true
注意:如上属性中,forward/include/type三者相斥,即三者在同一Action配置中只能存在一个。
-->
<action path="/search"
type="addressbook.actions.SearchAction"
name="searchForm"
scope="request"
validate="true"
input="/search.jsp">
<forward name="success" path="/display.jsp"/>
</action>
</action-mappings>
<!--
名称:controller
描述:用于配置ActionServlet
数量:最多一个
属性:
@bufferSize:指定上传文件的输入缓冲的大小.默认为4096
@className:指定当前控制器的配置类.默认为org.apache.struts.config.ControllerConfig
@contentType:指定相应结果的内容类型和字符编码
@locale:指定是否把Locale对象保存到当前用户的session中,默认为false
@processorClass:指定负责处理请求的Java类的完整类名.默认org.apache.struts.action.RequestProcessor
@tempDir:指定文件上传时的临时工作目录.如果没有设置,将才用Servlet容器为web应用分配的临时工作目录.
@nochache:true时,在相应结果中加入特定的头参数:Pragma ,Cache-Control,Expires防止页面被存储在可数浏览器的缓存中,默认为false
-->
<controller
contentType="text/html;charset=UTF-8"
locale="true"
processorClass="CustomRequestProcessor">
</controller>
<!--
名称:message-resources
描述:配置Resource Bundle.
数量:任意多个
属性:
@className:指定和message-resources对应的配置类.默认为org.apache.struts.config.MessageResourcesConfig
@factory:指定资源的工厂类,默认为org.apache.struts.util.PropertyMessageResourcesFactory
@key:
@null:
@parameter:
-->
<message-resources
null="false"
parameter="defaultResource"/>
<message-resources
key="images"
null="false"
parameter="ImageResources"/>
<!--
名称:plug-in
描述:用于配置Struts的插件
数量:任意多个
子元素:set-property
属性:
@className:指定Struts插件类.此类必须实现org.apache.struts.action.PlugIn接口
-->
<plug-in
className="org.apache.struts.validator.ValidatorPlugIn">
<!--
名称:set
-property
描述:配置插件的属性
数量:任意多个
属性:
@property:插件的属性名称
@value:该名称所配置的值
-->
<set-property
property="pathnames"
value="
struts框架配置文件详细说明
/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml"/>
</plug-in>
</struts-config>
===============================================================================================================================================================
web项目打包成exe(jdk,tomcat,mysql)
有什么方法把web项目打包成exe文件啊?网上找了很多资料,有说用批处理文件的,试了不成功。。谁能详细的告诉我啊??急了我两个星期了。问题补充:
打包好后的exe安装文件,一并把jdk,tomcat,mysql安装好了,用户只需要在浏览器里输入http://localhost:8080/web项目就能运行
最佳答案 1,jdk:c:\programe files\java 目录里有两个目录:jdk1.6.0_12 和 jre1.6.0_12直接把java文件夹拷贝过来
2.下载一个tomcat的免安装版本。然后修改service.bat文件,在第一行加上
set JAVA_HOME=C:\ MyApp\java\jdk1.6.0_10
3.下载免安装版本的mysql,修改一下其中的配置。
basedir="C:/MyApp/MySQL/MySQL Server 5.1/" datadir="C:/ MyApp /MySQL/MySQL Server 5.1/Data/"
4.把创建数据库文件放在mysql的data下,把war包放在tomcat的webapps下.
5.利用以下批处理文件
@echo off
color 1f
setlocal enabledelayedexpansion
Set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;
Title 系统安装
cls
echo ╔- -╗
echo 系统安装
echo ╚- -╝
echo -------------------------------------------------
echo.
rem *******************************************************
@echo off
ver | find "5.0" >nul && goto xp
ver | find "5.1" >nul && goto xp
ver | find "5.2" >nul && goto xp
ver | find "6.0" >nul && goto Vista
goto Vista
:xp
set NowPath=%cd%
set DestopPath=%ALLUSERSPROFILE%\桌面
goto end
:Vista
set /p NowPath=请输入软件安装路径:
set DestopPath=%PUBLIC%\Desktop
IF EXIST %NowPath%\install.bat ( echo. ) else ( echo 路径错误 & goto Vista )
goto end
:end
Set IsDo=Y
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do (
call :Assoc %%i TCP %%j
if !TCP_Port!==3306 ( Set IsDo=N & Set Port1=3306a )
if !TCP_Port!==8888 ( Set IsDo=N & Set Port2=8888 )
if !TCP_Port!==8006 ( Set IsDo=N & Set Port3=8006 )
if !TCP_Port!==8010 ( Set IsDo=N & Set Port4=8010 )
rem echo !TCP_Port!
)
IF %IsDo%==N (
echo 检测安装条件: 不通过
echo --------------------------------------------------
echo.
echo !Port1! !Port2! !Port3! !Port4! 端口被占用!
echo.
echo 请停止以上端口,否则不能安装本系统!
echo.
echo --------------------------------------------------
echo.
pause & exit
) else (
echo 检测安装条件: 通过
echo.
echo --
------------------------------------------------
echo.
)
rem *******************************************************
echo 系统安装过程:
echo
struts框架配置文件详细说明
--------------------------------------------------
set CATALINA_HOME=%NowPath%\tomcat
Set PATH=%PATH%;%JAVA_HOME%\bin
Set CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
%NowPath%\mysql\bin\mysqld --install MySql --defaults-file=%NowPath%\mysql\my.ini >nul
echo Install MySql Services. Services Name: MySql
net start MySql
call %NowPath%\tomcat\bin\service.bat install Tomcat5 >nul
echo Install Tomcat5 Services. Services Name: Tomcat5
net start Tomcat5
%SystemDrive%
cd %DestopPath%
copy %NowPath%\销售系统安装工具.lnk 销售系统安装工具.lnk >nul
pause & exit
:Assoc
for /F "tokens=2 delims=:" %%e in ("%1") do (
set %2_Port=%%e
)
经行一些设置..然后利用打包工具打包成exe就行了
==============================================================================================================================================================
apache 注册为服务:
@echo off
if "%OS%" == "Windows_NT" goto WinNT
:Win9X
echo Don't be stupid! Win9x don't know Services
echo Please use apache_start.bat instead
goto exit
:WinNT
echo Installing Apache2.2 as an Service
bin\apache -k install
echo Now we Start Apache2.2 :)
net start Apache2.2
:exit
pause
将以上做成一个批处理文件放在apache根目录下apache_installservice.bat
卸载apache服务
@echo off
if "%OS%" == "Windows_NT" goto WinNT
:Win9X
echo Don't be stupid! Win9x don't know Services
echo Please use apache_stop.bat instead
goto exit
:WinNT
echo Are you sure you wan't this?
echo now stopping Apache2.2 when it runs
net stop Apache2.2
echo Time to say good bye to Apache2.2 :(
bin\apache -k uninstall
:exit
pause
将以上做成一个批处理文件放在apache根目录下apache_uninstallservice.bat
Mysql注册成为系统服务:
@echo off
if "%OS%" == "Windows_NT" goto WinNT
:Win9X
echo Don't be stupid! Win9x don't know Services
echo Please use mysql_start.bat instead
goto exit
:WinNT
if exist %windir%\my.ini GOTO CopyINI
if exist c:\http://doc.guandang.netf GOTO CopyCNF
if not exist %windir%\my.ini GOTO MainNT
if not exist c:\http://doc.guandang.netf GOTO MainNT
:CopyINI
echo Safe the %windir%\my.ini as %windir%\my.ini.old!
copy %windir%\my.ini /-y %windir%\my.ini.old
del %windir%\my.ini
GOTO WinNT
:CopyCNF
echo Safe the c:\http://doc.guandang.netf as c:\http://doc.guandang.netf.old!
copy c:\http://doc.guandang.netf /-y c:\http://doc.guandang.netf.old
del c:\http://doc.guandang.netf
GOTO WinNT
:MainNT
echo Installing MySQL as an Service
copy "%cd%\bin\http://doc.guandang.netf" /-y %windir%\my.ini
bin\mysqld-nt --install mysql --defaults-file="%cd%\bin\http://doc.guandang.netf"
echo Try to start the MySQL deamon as service ...
net start MySQL
:exit
pause
以上存成一个批处理于mysql根目录 mysql_installservice.bat
卸载掉刚才注册的mysql服务:
@echo off
if "%OS%" == &qu
ot;Windows_NT" goto WinNT
:Win9X
echo Don't be stupid! Win9x don't know Services
echo Please use mysql_stop.bat instead
goto exit
struts框架配置文件详细说明
:WinNT
echo now stopping MySQL when it runs
net stop mysql
echo Uninstalling MySql-Service
bin\mysqld-nt --remove mysql
if not exist %windir%\my.ini GOTO exit
echo Remove %windir%\my.ini
del %windir%\my.ini
:exit
pause
以上存成一个批处理于mysql根目录 mysql_uninstallservice.bat
好了,apache /mysql 的系统注册、卸载批处理已经建立。
======================================================================================================================================================================
用户名: 密码: 登录 注册 h1988ys的空间 主页博客相册|个人档案 |好友 |i贴吧 查看文章
【转】 InstallAnywhere web打包成exe文件(tomcat6 , mysql。jdk1.6)
转载自 annleecn最终编辑 annleecn
1、要求
我们的web程序使用 tomcat6 作为应用服务器,数据库为 mysql。java的版本是jdk1.6,同时,在系统安装的时候,需要导入一些数据,这些都是我们帮助客户录入的,因为客户觉得录入太麻烦了。
目标是客户只需要运行一下EXE文件,就完成WEB系统的安装。JDK,TOMCAT,MYSQL和环境变量都要一次设置好。(只适用于WINDOW系统)
2、思路
既然客户要求自动安装,那么无非就是自动安装 tomcat, mysql, jdk, 我们的web应用,以及导入客户的数据。但是我们的客户对电脑完全不懂,所以,如果安装过程中,出现 tomcat 那种的“下一步”操作,是绝对不行的。最好是一气呵成,点完安装,一切ok,打开浏览器,就能访问。
图形的当然最好,不过俺还是想省点事,交流之后客户能够接受批处理文件。那么就用批处理编写安装程序。
3、建立项目文件夹
在C盘建立名为MyApp的文件夹,把免安装的Java、tomcat6、mysql放进去。
4、自动安装 jdk
因为 jdk 是 tomcat 的必要环境,所以先考虑这个。其实这个最简单了,拷贝一份安装过的jdk就可以了,一般 c:\programe files\java 目录里有两个目录:jdk1.6.0_12 和 jre1.6.0_12
5、自动安装 tomcat
这个部分非常简单,网上也有详细的资料。无非就是下载一个tomcat的免安装版本。然后修改service.bat文件,在第一行加上
set JAVA_HOME=C:\ MyApp\java\jdk1.6.0_10
6、自动安装 mysql
这部分的资料网上很多,无非是下载免安装版本的mysql。但是通常你花费点时间才发现,免安装版本的mysql里不带 my.ini 文件,没有这个文件是不能启动mysql的。从你的安装过的版本里拷贝一个出来吧,修改一下其中的配置。
basedir="C:/MyApp/MySQL/MySQL Server 5.1/"
datadir="C
:/ MyApp /MySQL/MySQL Server 5.1/Data/"
(把其它地方安装后的mysql复制进来也算是免安装版的MYSQL)
7、安装我们的web应用以及导入数据
安装web应用太简单了,拷贝到tomcat目录下就行了。
导入数据也很
struts框架配置文件详细说明
简单。我们首先准备一个 init.sql。 这个文件里写上创建数据库的语句。然后放在C:\MyApp\MySQL\db目录下,其它目录也行,但文件夹名称不能有空格,否则会找不到文件。
8、注册MYSQL和TOMCAT的系统服务
写一个批处理文件regeditService.bat
再建一个uninstall.bat文件
9、在MyApp目录下建一个config文件夹,把regeditService.bat放进去
10、使用制作工具打包成EXE
别急着点生成脚本,先设置一个高级选项,点进去
首选运行是选不了regeditService.bat文件的,要自己手动输入。点击返回主菜单。然后点击生成脚本即可。
这个工具在CSDN的下载资源里面输入exe打包制作工具(绿色版)就能找到.
以打包我自己的rpss项目为例:
先将Java、Tomcat、MySQL和项目文件都复制到一个目录里面。该目录下有以下东西:
[apps] - 存放项目文件
[jdk1.6.0_13] - Java的jdk文件
[MySQL-5.1] - MySql非安装版
[Tomcat-6.0.18] - Tomcat
1) 修改 Tomcat目录\conf\server.xml 中的标签<Host appBase="webaps" ...> ,将appBase指向项目所在相对路径。注意路径分割符使用“/”。
2) 编写两个批处理文件,分别为“install.bat”和“uninstall.bat”,放在目录根路径下。
install.bat内容:
set JAVA_HOME=%1%\jdk1.6.0_13
set CATALINA_HOME=%1%\Tomcat-6.0.18
call %1%\Tomcat-6.0.18\bin\service install Tomcat
call %1%\MySQL-5.1\bin\mysqld --install MySQL
net start MyTomcat
net start MySQL
uninstall.bat内容:
set JAVA_HOME=%1%\jdk1.6.0_13
set CATALINA_HOME=%1%\Tomcat-6.0.18
net stop Tomcat
net stop MySQL
call %1%\Tomcat-6.0.18\bin\service remove Tomcat
call %1%\MySQL-5.1\bin\mysqld --remove MySQL
3) 建立Project
打开InstallAnywhere 2009 Enterprise,建立Baisc Project Template,然后选择Advanced Designer,设置Title, Name等。
4) 本地化语言
菜单Project>Locales>,选择需要的本地化语言。
5) 设置环境变量
菜单Install>,按钮Add Action...>Set System Environment Variable>Add>,设置JAVA_HOME和CATALINA_HOME两个系统环境变量。
其中$USER_INSTALL_DIR$表示用户选择的安装路径。
6) 注册服务
菜单Post-Install>,按钮Add Action...>Execute Command>Add>,在安装完成后执行install.bat,注册Tomcat和MySQL服务。
其中Command Line: cmd /c $USER_INSTALL_DIR$\install.bat $USER_INSTALL_DIR$。
cmd /c表示执行指定的命令并中断。
$USER_INSTALL_DIR$是传递给install.bat中%1%的参数。
并且,选中Options中的3个选项。
将该Execute Command移动到Panel: Install Complete前面。
7) 让安装完成后启动浏览器,自动打开项目
菜单Post-Install>,按钮Add Action...>
;Launch Default Browser>Add>
在Other URL: 填入项目地址 http://localhost:7777/rpss
讲该Launch Default Browser移动到Panel: Install Complete后面。
8) 反
struts框架配置文件详细说明
安装
菜单Pre-Uninstall>,按钮Add Action>Execute Command>Add>。
Command Line: cmd /c $USER_INSTALL_DIR$\uninstall.bat $USER_INSTALL_DIR$
将该Execute Command移动到第一个。
选中Options中的3个选项。
9) 打包
菜单Build>,按钮Build Project>,等待InstallAnywhere打包完成。
完成以后,按钮Open in Explorer>,文件夹Web_Installers>InstData>Windows>VM>,setup.exe就是完成的安装文件包。
打包J2EE工程为安装文件(InstallAnywhere7.1)
现在有这样一个J2EE项目,使用tomcat + mysql 开发,开发完成后,客户要求打包成安装程序,要求客户机器在没有任何开发环境下也能运行该项目
打包步骤如下:
有这几个问题需要解决:注册MySQL服务,打开MySQL和tomcat服务,解决方法如下:
1. 准备工具:
tomcat5.0.28解压缩版(http://doc.guandang.net/dist/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28-embed.zip)
mysql5.0.22免安装版(http://doc.guandang.net/archives/mysql-5.0/mysql-noinstall-5.0.22-win32.zip)
installAnywhere7.1(ftp://http://doc.guandang.net/programdev/installanywhere.rar)注册码去google下
jdk(使用安装好的就行)
2. 将J2EE工程打包为.war,放到tomcat的webapps中
3. 建立一个文件夹,取名为"服务",在该文件夹下建立2个批处理文件,分别取名为:"启动服务.bat" 和"停止服务.bat"
4. 打开installAnywhere,开始本次打包的关键步骤
0 选择"Create New Project","Basic Project Template",点击"Save as"选择最后的保存路径,以及项目名称。next,next
A 添加文件,将tomcat-5.0.28,mysql-5.0.22,jdk1.5.0_15,服务 这四个文件夹添加进去,next,Advanced Designer
B 在install中,addAction 选择"Create Alias,Link,Shortcut",在Path选项中选择"Shortcut's Destionation Folder" 表示安装到"开始"菜单中去,点击Choose Target 选择"服务"下"启动服务.bat"
C 同B,对"服务"下"停止服务.bat"做相同操作。
D 在install中,addAction 选择"Modify Text File - Single File" 点击Choose Target 选择"服务"文件夹下"启动服务.bat"文件,选择Prepend,写入
net start mysql
net start tomcat
E 在install中,addAction 选择"Modify Text File - Single File" 点击Choose Target 选择"服务"文件夹下"停止服务.bat"文件,选择Prepend,写入
net stop tomcat
net stop mysql
F 在Post-install中,addAction 选择"Modify Text File - Single File" 点击Choose Target 选择tomcat-5.0.28/bin下service.bat,选择Prepend,写入
set JAVA_HOME=$USER_INSTALL_DIR$\jdk1.5.0_15
set CATALINA_HOME=$USER_INSTALL_DIR$\tomcat-5.0.28
G 在Post-install中,addAction 选择
"Modify Text File - Single File" 点击Choose Target 选择mysql下my.ini(如果没有可以google一个),选择Prepend,写入
[mysqld]
#设置basedir指向mysql的安装路径
struts框架配置文件详细说明
basedir=$USER_INSTALL_DIR$\mysql-5.0.22
datadir=$USER_INSTALL_DIR$\mysql-5.0.22\data
default-character-set = UTF8
[WinMySQLAdmin]
Server=$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt.exe
user=root
password=root
注意:首先要删除my.ini文件中的相应属性的设置
H 在Post-install中,addAction 选择"Execute Script/Batch file" 在Comment中取名为"注册MySQL服务",在Script中写入
Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -remove
Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -install
I 在Post-install中,addAction 选择"Execute Script/Batch file" 在Comment中取名为"注册TOMCAT服务",在Script中写入
Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" remove tomcat
Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" install tomcat
J 在Post-Uninstall中,addAction 选择"Execute Script/Batch file" 在Comment中取名为"注销MySQL服务",在Script中写入
Call net stop mysql
Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -remove
K 在Post-Uninstall中,addAction 选择"Execute Script/Batch file" 在Comment中取名为"注销TOMCAT服务",在Script中写入
Call net stop tomcat
Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" remove tomcat
注意:创建"M
odify Text File - Single File"的时候把下面的"Create backup"取消。
安装的时候,整个安装路径上不能有空格的出现。不然就找不到JAVA_HOME,和CATALINA_HOME。
5. 开始打包,完成!
相关推荐:
- [求职职场]首钢工业区工业遗产资源保护与再利用研究
- [求职职场]第4课 《大学》节选
- [求职职场]2016程序文件——检验检测结果发布程序
- [求职职场]2011年高考试题文言文阅读全解释__2011
- [求职职场]化学是一门基础的自然科学
- [求职职场]海外做市商制度的借鉴意义
- [求职职场]外国建筑史复习资料(
- [求职职场]七年级下思想品德期末综合测试(二)
- [求职职场]思政课部2013年上学期教学工作总结
- [求职职场]电大国际公法任务3 0004
- [求职职场]《圆的认识》教学设计
- [求职职场]中国轨道交通牵引变流器行业市场发展调研及投资建议分
- [求职职场]中泰证券#定期报告:坚守时代硬科技和世代新消费
- [求职职场]浅论企业财务管理与企业经营投资风险的关系
- [求职职场]大功率半导体激光器光纤耦合技术调研报告
- [求职职场]中国传统家具的现状与发展探讨
- [求职职场]Broadcom数字电视芯片助海尔扩展高清电视产品线
- [求职职场]新HSK4词汇练习 超全(五)
- [求职职场]2013届高考数学单元考点复习12
- [求职职场]雨霖铃精品课件
- 公司规章制度范本(详细版)
- 四轴码垛机器人的机构设计及运动分析
- 《2013版清单计价规范》价款调整
- 自考电视艺术概论学习笔记
- 全新版大学英语第二版综合教程4课后答
- spss协方差分析的基本原理-最棒的
- 语篇分析理论对英语写作教学的启示——
- 研究生英语综合教程课后翻译-熊海虹(完
- 2005年大学生志愿服务辽西北计划招募工
- 下水道工程施工组织设计
- 2015新审定人教版六年级上册数学教案第
- 基于LabVIEW和FPGA的LCR测试仪的设计
- 公路路堑岩质高陡边坡稳定性评价
- 小学五年级人美版美术下册教案全集及教
- 第一类疫苗管理规章制度
- 幼儿园预防公共卫生突发事件应急预案
- 2014年计算机一级考试MSoffice选择题及
- 2012阀门基础知识培训
- 01-第1章 设备运行环境
- 优秀论文本科 高职院校计算机网络故障