我使用JSF 2.1(Mojarra 2.1.0 - FCS)与tomcat 7如下:
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.0-b11</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.0-b11</version>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我试图在tomcat 7上运行它时,我得到以下异常:
java.lang.InstantiationException: com.sun.faces.application.ServletContextSensitiveSingletonStore
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4268)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4771)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:785)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:763)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:558)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:674)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:599)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:538)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1390)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:355)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:312)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:292)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:998)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:990)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:424)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:648)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138)
at org.apache.catalina.startup.Catalina.start(Catalina.java:576) …Run Code Online (Sandbox Code Playgroud) 我正在使用Java远程方法调用(RMI)测试Web应用程序。当我通过加密狗,宽带连接到互联网时;RMI需要很长时间才能响应该请求。完成方法调用大约需要10秒钟。我还可以看到,一旦进行方法调用,互联网连接中的数据传输速率就会提高。因此,显然,它似乎正在通过外部网络在两个内部进程之间建立RMI连接。
与互联网断开连接后,它的响应变化很快,例如几毫秒。我的/ etc / hosts文件具有127.0.0.1 localhost的条目。我总是在naming.lookup的方法调用URL中使用127.0.0.1。但是无法弄清楚当我连接到Internet时如何使计算机快速响应RMI呼叫。有什么建议么?
我今天遇到了一个问题,我希望有人可以为我解答/解释.我试图将新角色和新用户添加到tomcat-users.xml,并将一个领域添加到server.xml,以便在我正在玩的小型Web应用程序中测试一些基本身份验证.我在基本tomcat目录中进行了更改,然后尝试使用新角色登录.似乎没什么用.我刚刚发现Eclipse在创建服务器实例时创建了一个新的tomcat-users.xml和server.xml,所以我想我只是在那里添加我的新用户(和领域),一切都会好的; 但是,当我更改这些文件时,它不会应用于服务器.我重新启动了eclipse,它将两个文件都更改为默认值.我在某处了解了这个糟糕的解决方法,在eclipse中删除了tomcat-reinstall tomcat,它会将最新的tomcat-users.xml导入到eclipse中.我的问题是:有没有办法从eclipse改变tomcat用户?如果没有,除了删除服务器之外还有其他解决方案吗?
感谢名单
chk it out
我在Spring WS 2.1.0上有一个Web服务.Web服务在Tomcat 7上运行,并使用一种事务方法实现端点,该方法从数据库读取数据并生成不同的报告.Tomcat 7通过JServ协议在Apache Server后面运行.
在通过Apache JMeter进行压力测试期间,我得出结论,同时处理请求是串行处理的.起初我试图调整数据库连接池(commons-dbcp和更高版本的tomcat-jdbc),但结果是一样的.端点方法只读取数据,因此没有读后读或写后读依赖,并且可以并行处理事务.因此问题在于HTTP连接处理.
经过一些搜索(当然还有谷歌搜索),我发现Spring WS附带了单线程的默认连接管理器(SimpleHttpConnectionManager).好的做法是用MultiThreadedHttpConnectionManager替换SimpleHttpConnectionManager.我找到了如下所示的示例代码:
<bean id="httpClient" class="org.apache.commons.httpclient.HttpClient">
<constructor-arg>
<bean class="org.apache.commons.httpclient.MultiThreadedHttpConnectionManager>
<property name="maxConnectionsPerHost" value="20"/>
<property name="maxTotalConnections" value="100"/>
</bean>
</constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)
但是这个例子对我来说并不是很清楚,因为我不明白Spring如何使用HttpClient(指代ID或自动装配它).那我怎么能在我的案例中使用MultiThreadedHttpConnectionManager和Spring?我应该在哪里注入此类的已配置实例?
部署Web应用程序后,我的Tomcat 7服务器不再启动,在启动过程中发出异常信号.
所以我尝试配置Tomcat以避免在启动时部署webapps.
为此,我修改了我${CATALINA_BASE}/conf/server.xml并向节点添加了一个autoDeploy="false"属性Host.(我也证实没有liveDeploy属性):
<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true">
...
Run Code Online (Sandbox Code Playgroud)
然后我读到了有关行为略有不同的liveDeploy属性,并确保我也禁用了它:
<Host appBase="webapps" autoDeploy="false" liveDeploy = "false" name="localhost" unpackWARs="true">
...
Run Code Online (Sandbox Code Playgroud)
问题是它似乎什么都不做,在输出中我仍然看到"部署配置描述符"行,直到崩溃Tomcat的那一行.
这里有服务器输出; 我已经包含了启动,第一个正确部署的应用程序(MyFirstApplication),以及最后一个崩溃服务器的应用程序.
Using CATALINA_BASE: "C:\Users\Jack\AppData\Roaming\NetBeans\7.2\apache-tomcat-7.0.11.0_base" Using CATALINA_HOME: "C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.11" Using CATALINA_TMPDIR: "C:\Users\Jack\AppData\Roaming\NetBeans\7.2\apache-tomcat-7.0.11.0_base\temp" Using JRE_HOME: "C:\Program Files (x86)\Java\jdk1.7.0" Using CLASSPATH: "C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.11\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.11\bin\tomcat-juli.jar" gen 14, 2013 3:08:28 PM org.apache.catalina.core.AprLifecycleListener init Informazioni: The APR based Apache Tomcat Native library which allows …
我正在尝试将表单验证添加到工作应用程序.我首先在登录表单中添加了一个NotNull检查.我正在使用Bean Validation api的Hibernate impl.
这是我写的代码
@Controller
@RequestMapping(value="/login")
@Scope("request")
public class LoginController {
@Autowired
private CommonService commonService;
@Autowired
private SiteUser siteUser;
@InitBinder
private void dateBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
CustomDateEditor editor = new CustomDateEditor(dateFormat, true);
binder.registerCustomEditor(Date.class, editor);
}
@ModelAttribute
protected ModelMap setupForm(ModelMap modelMap) {
modelMap.addAttribute("siteUser", siteUser);
return modelMap;
}
@RequestMapping(value="/form", method = RequestMethod.GET)
public ModelAndView form(ModelMap map){
if (siteUser.getId() == null){
map.addAttribute("command",new SiteUser());
return new ModelAndView("login-form",map);
}else {
return new ModelAndView("redirect:/my-dashboard/"+siteUser.getId());
}
}
@RequestMapping(value="/submit", method=RequestMethod.POST)
public ModelAndView submit(@Valid …Run Code Online (Sandbox Code Playgroud) 我正在尝试配置Tomcat 7 JDBC领域配置.我完全遵循了本教程:http: //www.avajava.com/tutorials/lessons/how-do-i-use-a-jdbc-realm-with-tomcat-and-mysql.html
我获得了基本身份验证弹出窗口,但即使我输入了正确的凭据,用户也未经过身份验证.我没有收到任何错误消息.
教程指定的Tomcat 5.5,但我使用Tomcat 7.我刚刚换了connectionPasword,并connectionName和动态Web项目的名称.
这是server.xmlJDBC领域配置
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/tomcat_realm"
connectionName="root"
connectionPassword="root"
userTable="tomcat_users"
userNameCol="user_name"
userCredCol="password"
userRoleTable="tomcat_users_roles"
roleNameCol="role_name" />
Run Code Online (Sandbox Code Playgroud)
这是 web.xml
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>test.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>Wildcard means whole app requires authentication</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>dude</role-name>
</auth-constraint>
<user-data-constraint>
<!-- transport-guarantee can be CONFIDENTIAL, INTEGRAL, or NONE -->
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
Run Code Online (Sandbox Code Playgroud)
我只能看到,我收到有关安全性的消息:
Security role name dude used in an <auth-constraint> without …Run Code Online (Sandbox Code Playgroud) 我正在使用tomcat 7 + ZK框架+ axis2开发一个Web门户来使用Web服务.过了一会儿我开始收到这个错误:
SEVERE: Servlet /twigo threw load() exception
java.lang.ClassNotFoundException: org.apache.axis2.transport.http.AxisAdminServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1137)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
也许axis2 1.6与tomcat 7不兼容?
除非我将META-INF放在根目录中,否则context.xml以及定义的资源(队列,jdbc连接池等)都无法正确读取,Spring会在启动时抛出异常.
现在我最终得到两个META-INF文件夹,由于persistence.xml,我在类路径(WEB-INF/classes/META-INF)上需要一个.
有两个META-INF可以吗?我总是在Spring的applicationContext中配置资源,所以之前没有注意到.
谢谢.
我试图在我的机器上访问tomcat7的管理界面,但没有成功.这是用户名和角色的tomcat-users.xml文件.
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>
Run Code Online (Sandbox Code Playgroud)
我的系统运行Ubuntu 12.04 64位.