前几天介绍了在Websphere中创建JDBC DataSource. 今天我们说说怎么部署WAR Application到Websphere中。
首先War文件中的web.xml需要注意,必须严格按照J2EE标准。在Tomcat中可以run的War,到Websphere中往往会提示web.xml文件错误。下面是web.xml的基础模板,其它的就根据提示的错误修改web.xml。
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> ... ... </web-app>
点击Applications > Install New Application , open Preparing for the application installation page.
点击Next,进入Install New Application > Step1: Select installation options . 在Step1中不做任何修改,点Next,进入Step2: Map modules to servers .
勾选刚才上传的module, click Next. 进入Step3:Map resource references to resources .
在Step:3要分为两步:
第一步, 在Specify authentication method中选择 Use default method, 在Authentication data entry combox中选择与JDBC DataSource 一样的User Credentials,点击Apply 。
第二步,在Table > Target Resource JNDI Name 中选择正确的DataSource.
最后勾选Table中的Module,并点击Next, 进入Step:4 Map virtual hosts for Web modules.
勾选,点击Next, 进入Step 5: Summary , click Finish . 最后Install log 如下:
ADMA5013I: Application fbi_dashboard_ui_war installed successfully.
Application fbi_dashboard_ui_war installed successfully.
To start the application, first save changes to the master configuration.
Changes have been made to your local configuration. You can:
# Save directly to the master configuration.
# Review changes before saving or discarding.
To work with installed applications, click the "Manage Applications" button.
点Save,完成最后的Install操作!
常见问题:
1. Application start 时出现以下错误:
Caused by: javax.security.auth.callback.UnsupportedCallbackException: Unrecognized Callback
at com.ibm.ws.security.auth.j2c.WSPrincipalMappingCallbackHandler.handle(WSPrincipalMappingCallbackHandler.java:132)
at javax.security.auth.login.LoginContext$SecureCallbackHandler$1.run(LoginContext.java:981)
at java.security.AccessController.doPrivileged(AccessController.java:274)
at javax.security.auth.login.LoginContext$SecureCallbackHandler.handle(LoginContext.java:977)
at com.ibm.ws.security.common.auth.module.WSLoginModuleImpl.login(WSLoginModuleImpl.java:258)
... 85 more
这是Security的问题,重设Step:3可以解决。进入的方法:
点击Applications > Enterprise Applications, 打开Enterprise Applications。 点击出现问题的Application,进入Application 属性页面。
再点击Resource references,进入Resource references page.
2. Application start 时出现莫名的错误,或修改配置不生效!
前一篇就介绍过了Websphere烂,现在就是见证它烂了的时候了。 当出现莫名错误或修改配置后不生效的情况时restart Websphere是最好的选择!