官方文档:

http://docs.oracle.com/javaee/6/tutorial/doc/gijre.html

package converter.ejb;

import java.math.BigDecimal;

import javax.ejb.Stateless;

@Stateless
public class ConverterBean {
private BigDecimal yenRate = new BigDecimal("83.0602");
private BigDecimal euroRate = new BigDecimal("0.0093016"); public BigDecimal dollarToYen(BigDecimal dollars) {
BigDecimal result = dollars.multiply(yenRate);
return result.setScale(2, BigDecimal.ROUND_UP);
} public BigDecimal yenToEuro(BigDecimal yen) {
BigDecimal result = yen.multiply(euroRate);
return result.setScale(2, BigDecimal.ROUND_UP);
}
}
package converter.web;

import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal; import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import converter.ejb.ConverterBean; @WebServlet
public class ConverterServlet extends HttpServlet { private static final long serialVersionUID = 1L; @EJB
ConverterBean converterBean; @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String amount = request.getParameter("amount");
if (amount != null && amount.length() > 0) {
// convert the amount to a BigDecimal from the request parameter
BigDecimal d = new BigDecimal(amount);
// call the ConverterBean.dollarToYen() method to get the amount
// in Yen
BigDecimal yenAmount = converterBean.dollarToYen(d); // call the ConverterBean.yenToEuro() method to get the amount
// in Euros
BigDecimal euroAmount = converterBean.yenToEuro(yenAmount); response.setCharacterEncoding("utf-8");
PrintWriter writer = response.getWriter();
writer.write("yenAmount:" + String.valueOf(yenAmount) + "\n");
writer.write("euroAmount:" + String.valueOf(euroAmount) + "\n");
writer.flush();
writer.close();
}
} }
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>ConverterServlet</servlet-name>
<servlet-class>converter.web.ConverterServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConverterServlet</servlet-name>
<url-pattern>/ConverterServlet</url-pattern>
</servlet-mapping>
</web-app>
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>converter.ejb</groupId>
<artifactId>converter</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>converter Maven Webapp</name>
<url>http://maven.apache.org</url> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0-6</version>
</dependency>
</dependencies> <build>
<finalName>converter</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

启动log:

Aug 25, 2016 4:54:21 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:converter' did not find a matching property.
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat (TomEE)/7.0.68 (1.7.4)
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Feb 8 2016 20:25:54 UTC
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 7.0.68.0
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 7
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 6.1
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: F:\e\java\jdk1.7.0_79\jre
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.7.0_79-b15
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: F:\e\apache-tomee-webprofile-1.7.4
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:27025
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=F:\e\apache-tomee-webprofile-1.7.4
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=F:\e\apache-tomee-webprofile-1.7.4\endorsed
Aug 25, 2016 4:54:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Aug 25, 2016 4:54:21 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: F:\e\java\jdk1.7.0_79\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;F:\e\java\jdk1.7.0_79\jre\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;F:\e\java\jdk1.7.0_79\bin;C:\Program Files\TortoiseSVN\bin;E:\apache-ant-1.9.6\bin;C:\Program Files (x86)\HP\LoadRunner\strawberry-perl\perl\bin;E:\Program Files;.
Aug 25, 2016 4:54:21 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Aug 25, 2016 4:54:21 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Aug 25, 2016 4:54:22 PM org.apache.openejb.util.OptionsLog info
INFO: Using 'openejb.jdbc.datasource-creator=org.apache.tomee.jdbc.TomEEDataSourceCreator'
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: ********************************************************************************
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: OpenEJB http://tomee.apache.org/
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: Startup: Thu Aug 25 16:54:22 CST 2016
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: Copyright 1999-2015 (C) Apache OpenEJB/TomEE Project, All Rights Reserved.
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: Version: 4.7.4
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: Build date: 20160304
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: Build time: 09:05
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: ********************************************************************************
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: openejb.home = F:\e\apache-tomee-webprofile-1.7.4
Aug 25, 2016 4:54:22 PM org.apache.openejb.OpenEJB$Instance <init>
INFO: openejb.base = F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Aug 25, 2016 4:54:22 PM org.apache.openejb.cdi.CdiBuilder initializeOWB
INFO: Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@20ec6f2f
Aug 25, 2016 4:54:22 PM org.apache.openejb.cdi.CdiBuilder initializeOWB
INFO: Succeeded in installing singleton service
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory init
INFO: openejb configuration file is 'F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\openejb.xml'
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory configureService
INFO: Configuring Service(id=Tomcat Security Service, type=SecurityService, provider-id=Tomcat Security Service)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory configureService
INFO: Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory configureService
INFO: Configuring Service(id=My DataSource, type=Resource, provider-id=Default JDBC Database)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory configureService
INFO: Configuring Service(id=My Unmanaged DataSource, type=Resource, provider-id=Default JDBC Database)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory configureService
INFO: Configuring Service(id=My Singleton Container, type=Container, provider-id=Default Singleton Container)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory configureService
INFO: Configuring Service(id=My Stateful Container, type=Container, provider-id=Default Stateful Container)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory configureService
INFO: Configuring Service(id=My Stateless Container, type=Container, provider-id=Default Stateless Container)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.DeploymentsResolver loadFrom
WARNING: File error: <Deployments dir="apps/"> - Does not exist: F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\apps
Aug 25, 2016 4:54:22 PM org.apache.openejb.util.OptionsLog info
INFO: Using 'openejb.system.apps=true'
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.ConfigurationFactory configureApplication
INFO: Configuring enterprise application: openejb
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.InitEjbDeployments deploy
INFO: Using openejb.deploymentId.format '{ejbName}'
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.InitEjbDeployments deploy
INFO: Auto-deploying ejb openejb/Deployer: EjbDeployment(deployment-id=openejb/Deployer)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.InitEjbDeployments deploy
INFO: Auto-deploying ejb openejb/ConfigurationInfo: EjbDeployment(deployment-id=openejb/ConfigurationInfo)
Aug 25, 2016 4:54:22 PM org.apache.openejb.config.InitEjbDeployments deploy
INFO: Auto-deploying ejb MEJB: EjbDeployment(deployment-id=MEJB)
Aug 25, 2016 4:54:23 PM org.apache.openejb.config.AppInfoBuilder build
INFO: Enterprise application "openejb" loaded.
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createRecipe
INFO: Creating TransactionManager(id=Default Transaction Manager)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createRecipe
INFO: Creating SecurityService(id=Tomcat Security Service)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createRecipe
INFO: Creating Resource(id=My DataSource)
Aug 25, 2016 4:54:23 PM org.apache.tomee.jdbc.TomEEDataSourceCreator$TomEEDataSource readOnly
INFO: Disabling testOnBorrow since no validation query is provided
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createRecipe
INFO: Creating Resource(id=My Unmanaged DataSource)
Aug 25, 2016 4:54:23 PM org.apache.tomee.jdbc.TomEEDataSourceCreator$TomEEDataSource readOnly
INFO: Disabling testOnBorrow since no validation query is provided
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createRecipe
INFO: Creating Container(id=My Singleton Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createRecipe
INFO: Creating Container(id=My Stateful Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.core.stateful.SimplePassivater init
INFO: Using directory C:\Users\wl\AppData\Local\Temp for stateful session passivation
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createRecipe
INFO: Creating Container(id=My Stateless Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createAppClassLoader
INFO: Not creating another application classloader for openejb
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Assembling app: openejb
Aug 25, 2016 4:54:23 PM org.apache.openejb.util.OptionsLog info
INFO: Using 'openejb.jndiname.format={deploymentId}{interfaceType.openejbLegacyName}'
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=openejb/DeployerBusinessRemote) --> Ejb(deployment-id=openejb/Deployer)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=global/openejb/openejb/Deployer!org.apache.openejb.assembler.Deployer) --> Ejb(deployment-id=openejb/Deployer)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=global/openejb/openejb/Deployer) --> Ejb(deployment-id=openejb/Deployer)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=openejb/ConfigurationInfoBusinessRemote) --> Ejb(deployment-id=openejb/ConfigurationInfo)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=global/openejb/openejb/ConfigurationInfo!org.apache.openejb.assembler.classic.cmd.ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=global/openejb/openejb/ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=MEJB) --> Ejb(deployment-id=MEJB)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=global/openejb/MEJB!javax.management.j2ee.ManagementHome) --> Ejb(deployment-id=MEJB)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=global/openejb/MEJB) --> Ejb(deployment-id=MEJB)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=My Stateless Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=MEJB, ejb-name=MEJB, container=My Stateless Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=My Stateless Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Started Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=My Stateless Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Started Ejb(deployment-id=MEJB, ejb-name=MEJB, container=My Stateless Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Started Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=My Stateless Container)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler deployMBean
INFO: Deployed MBean(openejb.user.mbeans:application=openejb,group=org.apache.openejb.assembler.monitoring,name=JMXDeployer)
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Deployed Application(path=openejb)
Aug 25, 2016 4:54:23 PM org.apache.openejb.server.SimpleServiceManager start
INFO: ** Bound Services **
Aug 25, 2016 4:54:23 PM org.apache.openejb.server.SimpleServiceManager printRow
INFO: NAME IP PORT
Aug 25, 2016 4:54:23 PM org.apache.openejb.server.SimpleServiceManager start
INFO: -------
Aug 25, 2016 4:54:23 PM org.apache.openejb.server.SimpleServiceManager start
INFO: Ready!
Aug 25, 2016 4:54:23 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 3185 ms
Aug 25, 2016 4:54:23 PM org.apache.tomee.catalina.OpenEJBNamingContextListener bindResource
INFO: Importing a Tomcat Resource with id 'UserDatabase' of type 'org.apache.catalina.UserDatabase'.
Aug 25, 2016 4:54:23 PM org.apache.openejb.assembler.classic.Assembler createRecipe
INFO: Creating Resource(id=UserDatabase)
Aug 25, 2016 4:54:23 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Aug 25, 2016 4:54:23 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat (TomEE)/7.0.68 (1.7.4)
Aug 25, 2016 4:54:23 PM org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO: ------------------------- localhost -> /
Aug 25, 2016 4:54:23 PM org.apache.openejb.config.ConfigurationFactory configureApplication
INFO: Configuring enterprise application: F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT
Aug 25, 2016 4:54:24 PM org.apache.openejb.config.AppInfoBuilder build
INFO: Enterprise application "F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT" loaded.
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Assembling app: F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT
Aug 25, 2016 4:54:24 PM org.apache.openejb.cdi.CdiBuilder initSingleton
INFO: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@20ec6f2f
Aug 25, 2016 4:54:24 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container is starting...
Aug 25, 2016 4:54:24 PM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
Aug 25, 2016 4:54:24 PM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
Aug 25, 2016 4:54:24 PM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
INFO: All injection points were validated successfully.
Aug 25, 2016 4:54:24 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container has started, it took 110 ms.
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Deployed Application(path=F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT)
Aug 25, 2016 4:54:24 PM org.apache.tomee.catalina.TomcatWebAppBuilder init
INFO: ------------------------- localhost -> /converter
Aug 25, 2016 4:54:24 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\converter\WEB-INF\lib\javaee-api-6.0-6.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
Aug 25, 2016 4:54:24 PM org.apache.openejb.config.ConfigurationFactory configureApplication
INFO: Configuring enterprise application: F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\converter
Aug 25, 2016 4:54:24 PM org.apache.openejb.config.InitEjbDeployments deploy
INFO: Auto-deploying ejb ConverterBean: EjbDeployment(deployment-id=ConverterBean)
Aug 25, 2016 4:54:24 PM org.apache.openejb.config.AppInfoBuilder build
INFO: Enterprise application "F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\converter" loaded.
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Assembling app: F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\converter
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=ConverterBeanLocalBean) --> Ejb(deployment-id=ConverterBean)
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=global/converter/ConverterBean!converter.ejb.ConverterBean) --> Ejb(deployment-id=ConverterBean)
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.JndiBuilder bind
INFO: Jndi(name=global/converter/ConverterBean) --> Ejb(deployment-id=ConverterBean)
Aug 25, 2016 4:54:24 PM org.apache.openejb.cdi.CdiBuilder initSingleton
INFO: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@20ec6f2f
Aug 25, 2016 4:54:24 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container is starting...
Aug 25, 2016 4:54:24 PM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
Aug 25, 2016 4:54:24 PM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [OpenWebBeansJsfPlugin]
Aug 25, 2016 4:54:24 PM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
INFO: All injection points were validated successfully.
Aug 25, 2016 4:54:24 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
INFO: OpenWebBeans Container has started, it took 12 ms.
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=ConverterBean, ejb-name=ConverterBean, container=My Stateless Container)
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Started Ejb(deployment-id=ConverterBean, ejb-name=ConverterBean, container=My Stateless Container)
Aug 25, 2016 4:54:24 PM org.apache.openejb.assembler.classic.Assembler createApplication
INFO: Deployed Application(path=F:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\converter)
Aug 25, 2016 4:54:24 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Aug 25, 2016 4:54:24 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Aug 25, 2016 4:54:24 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1222 ms

访问:

http://localhost:8080/converter/ConverterServlet?amount=100

结果:

yenAmount:8306.02
euroAmount:77.26

ps:

访问http://localhost:8080/converter/

会进入欢迎页

需要制定具体的servlet或者在index.jsp中做重定向

ejb servlet demo的更多相关文章

  1. Web---JSP注册技术的的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean

    我们可以这么理解JSP注册技术的发展过程: 第一代JSP技术:纯JSP开发. 第二代JSP技术:JSP+EJB开发. (EJB简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.) 第三代J ...

  2. Java下载Servlet Demo

    request.setCharacterEncoding("utf-8"); String name=request.getParameter("name"); ...

  3. Jquery+ajax+json+servlet原理和Demo

    Jquery+ajax+json+servlet原理和Demo 大致过程: 用户时间点击,触发js,设置$.ajax,开始请求.服务器响应,获取ajax传递的值,然后处理.以JSON格式返回给ajax ...

  4. SpringMVC-Spring-Hibernate项目搭建之一-- 搭建maven 项目 & servlet的demo

    一. 搭建maven项目  1. 新建maven项目,选择maven Project --> Next 2. 勾选 Create a simple project --> Next 3. ...

  5. Servlet 3.0

    Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发 ...

  6. JAVAWEB学习总结 SERVLET开发(二)

    一.ServletConfig对象 1.1.配置servlet初始化参数 在servlet的配置文件中web.xml中,可以使用一个或多个<init-param>标签为servlet配置一 ...

  7. javaweb学习总结 servlet开发(一)

    转载:http://www.cnblogs.com/xdp-gacl/p/3760336.html 这里主要是将其加入自己的理解过一遍. 这里的代码全在eclipse java ee中执行的. 一.s ...

  8. Servlet 3.0 新特性

    Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发 ...

  9. 利用servlet技术实现验证码功能

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...

随机推荐

  1. <context:annotation-config/>,<mvc:annotation-driven/>和<context:component-scan>之间的关系

    首先看一下三个注解各自定义: ① <context:annotation-config/> 1.如果你想使用@Autowired注解,那么就必须事先在 spring 容器中声明 Autow ...

  2. Three.js粒子特效,shader渲染初探(一篇非常详细的介绍)

    Three.js粒子特效,shader渲染初探 转载来源:https://juejin.im/post/5b0ace63f265da0db479270a 这大概是个序 关于Three.js,网上有不多 ...

  3. 函数名、闭包、装饰器 day11

    1, 函数名的内存地址,print(func) 2, 函数名可以赋值给其他变量 3, 函数名可以当做容器类的元素 4, 函数名可以当做函数的参数. 5, 函数名可以当做函数的返回值. 学名:第一对象 ...

  4. 初次搭建spring-boot 整合ssm(有许多小坑)

    首先,我是采用官网下载,版本最好选择1.5.16的(这是重点) 下载完毕后,用idea打开解压后的项目. 1.整合spring-mvc 在pom.xml中加入web依赖 <dependency& ...

  5. (转)Java程序员简历模板

    本简历模板由国内首家互联网人才拍卖网站「 JobDeer.com 」提供. (括号里的是我们的顾问编写的说明,建议在简历书写完成后统一删除) 先讲讲怎样才是一份好的技术简历 首先,一份好的简历不光说明 ...

  6. js call方法的使用

    转自:js call call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg ...

  7. Bad owner or permissions on $HOME/.ssh/config

    摘自:https://www.cnblogs.com/ytjjyy/p/4076442.html The ssh with RHEL 4 is a lot more anal about securi ...

  8. iOS通过URL构建UIImage

    很多时候我们只能得到一个URL,然后需要构建一个UIImage. 通常情况下,我们一般都是通过SDWebImage来直接构建UIImageVIew的image,如何用URL直接构建UIImage呢? ...

  9. Qt5+VS2010的安装及使用

    在我的博客<Win7下Qt5的安装及使用>中讲解了win7下Qt5+MinGW的安装及使用,本节再讲解win7下Qt5+VS2010的安装及使用.利用Qt5+MinGW开发应用程序比较麻烦 ...

  10. JavaScript 内存泄漏教程

    一.什么是内存泄漏? 程序的运行需要内存.只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存. 对于持续运行的服务进程(daemon),必须及时释放不再用到的内存.否则,内存占用越来 ...