标签: tomcat7

Tomcat、Java 和 Oracle9。org.apache.naming.NamingContext 查找

我正在使用 Tomcat 和 Java(通过 Eclipse)和 Oracle 数据库 9.2.1

我正进入(状态

org.apache.naming.NamingContext lookup
WARNING: Unexpected exception resolving reference
java.sql.SQLException: oracle.jdbc.OracleDriver
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver
(PooledConnection.java:243)
Run Code Online (Sandbox Code Playgroud)

我的代码是

上下文.xml

<Resource type="javax.sql.DataSource" auth="Container"
name="jdbc/charmDB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:db"
username="db" password="db" maxActive="20" maxIdle="10"  
/>

<Resource name="jdbc/charmDB" auth="Container"
type="javax.sql.DataSource"
description="My Database"/>
Run Code Online (Sandbox Code Playgroud)

Java代码

InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/charmDB");
Connection con = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)

有谁知道出了什么问题?

谢谢!

java oracle jdbc tomcat7

0
推荐指数
1
解决办法
7318
查看次数

Tomcat 7 Manager脚本停止/启动应用程序

我正在使用来自7.0.32的Tomcat 7和Manager.

curl -X PUT http://user:password@server:port/manager/text/deploy?path=/app
OK - it works

curl -X PUT http://user:password@server:port/manager/text/list
FAIL - Unknown command /list
Same with stop : 
FAIL - Unknown command /stop
Run Code Online (Sandbox Code Playgroud)

但在官方文档中:http: //tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Stop_an_Existing_Application 明确指出此命令存在.

我错过了什么?

deployment tomcat tomcat7

0
推荐指数
1
解决办法
2880
查看次数

Tomcat maven插件 - 无法加载类"org.slf4j.impl.StaticLoggerBinder"

当我在一个独立的tomcat容器中启动我的webapp时,我看到Flyway日志记录正常(如果找到则使用commons-logging,如下面的Axel所述,则使用sout).

但是,当我使用apache tomcat maven插件(tomcat7-maven-plugin)时,我看到以下内容:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Run Code Online (Sandbox Code Playgroud)

没什么好看的.这是完整的代码:

public void contextInitialized(ServletContextEvent sce) {
    Flyway flyway = new Flyway();
    flyway.setDataSource(...);
    flyway.migrate();
}

<listener>
    <listener-class>com.blah.conf.FlywayListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

我正在使用logback-classic进行日志记录.泽西和吉斯都记录正常(虽然我删除它们以缩小问题范围).

这是我在类路径中看到的唯一与日志相关的jar:

logback-classic-1.0.13
logback-core-1.0.13
slf4j-api-1.7.5
Run Code Online (Sandbox Code Playgroud)

这是slf4j的依赖树:

mvn dependency:tree -Dverbose -Dincludes=org.slf4j
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ hello ---
[INFO] com.hello:hello:war:1.0-SNAPSHOT
[INFO] \- ch.qos.logback:logback-classic:jar:1.0.13:compile
[INFO]    \- org.slf4j:slf4j-api:jar:1.7.5:compile
Run Code Online (Sandbox Code Playgroud)

所以我更新的问题是,为什么使用tomcat maven插件vs独立存在差异?我没有在"target"文件夹中看到临时部署的任何其他jar.

更新:添加jcl-over-slf4j后,问题就消失了.

java logging logback slf4j tomcat7

0
推荐指数
1
解决办法
4107
查看次数

Spring Maven - DispatcherServlet的ClassNotFound

我正在尝试使用Spring框架启动一个Web应用程序,我正在使用maven来获取unfpndent jar.我使用Tomcat 7.0.39我已经将Eclipse配置为包含所有te maven依赖项到WEB-INF/lib文件夹中.所以,在我的战争中,我确实看到了所有的罐子.但是我仍然得到了DispatcherServlet的ClassNotFound异常.这是服务器日志:

SEVERE: Servlet /bookRental threw load() exception
java.lang.ClassNotFoundException: com.springframework.web.servlet.DispatcherServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
Run Code Online (Sandbox Code Playgroud)

以下是我的pom.xml文件:

    <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/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>bookRental</groupId>
  <artifactId>bookRental</artifactId>
  <version>0.1</version>
  <packaging>war</packaging>
  <name>bookRental</name>
  <description>an e-rental zone to share books</description>

  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
  </dependency>

  </dependencies>

  <build> …
Run Code Online (Sandbox Code Playgroud)

spring maven tomcat7

0
推荐指数
1
解决办法
1429
查看次数

无法在 tomcat 8 中设置 sso/ssl

我正在尝试在 tomcat 8 中设置 ssl,并且遵循了我公司为 tomcat 7 编写的文档。该文档适用于 tomcat 7,但是当我在 tomcat 8 中尝试相同的操作时,我在 catalina 中收到以下错误。输出日志文件。您能告诉我导致此错误的原因吗?顺便说一句,日志文件中的 sso 指的是我创建的一个简单的 hello world war 应用程序来测试 sso/ssl。

    SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/sso]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:917)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1701)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:812)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [Pipeline[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/sso]]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5065)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [com.sap.ldi.tomcat.extensions.SSLAuthenticatorWithFormFallback[/sso]] …
Run Code Online (Sandbox Code Playgroud)

ssl tomcat single-sign-on tomcat7 tomcat8

0
推荐指数
1
解决办法
2261
查看次数

为什么 Spring 仅在生产环境中针对 Autowire 问题进行循环引用?

#所有请阅读我的问题倾斜我已经解决了这个问题

Spring 循环参考在 Local 、 UAT 、 DEMO 、 STAGGING 环境中工作,但不仅限于生产环境。所有环境都具有相同的配置

1 JDK:1.7.0.79

2.Tomcat 7.0

应用上下文.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:p="http://www.springframework.org/schema/p" xmlns:jee="http://www.springframework.org/schema/jee"
        xmlns:task="http://www.springframework.org/schema/task"
        xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
            http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<context:component-scan base-package="in.test.server">
    </context:component-scan>

    <context:annotation-config />
    <tx:annotation-driven transaction-manager="transactionManager" />

    <bean id="applicationProperties"
        class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath*:mail.properties</value>
                <value>classpath*:document_storage.properties</value>
                <value>classpath*:ekyc.properties</value>
                <value>classpath*:application_config.properties</value>
                <value>classpath*:messages.properties</value>
                <value>classpath*:invitation_codes.properties</value>
                <value>classpath*:capitalraise.properties</value>               
            </list>
        </property>
    </bean>

    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreUnresolvablePlaceholders" value="true" />
        <property name="locations">
            <list>
                <value>classpath*:mail.properties</value>
                <value>classpath*:application_config.properties</value>
            </list>
        </property>
    </bean>

    <bean …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat7 applicationcontext

0
推荐指数
1
解决办法
6477
查看次数

Nginx反向代理性能低下

尝试配置 Nginx 有两个目的:

  • 反向代理将请求重定向到本地 tomcat 服务器(mcat 监听的端口 443 到 10443)
  • 将请求镜像到后端服务器以进行分析

由于我们使用默认配置和镜像指令时遇到了非常低的性能,因此我们决定尝试使用反向代理来检查是否对服务器有影响,并且确实看起来 nginx 将流量限制了几乎一半(我们正在使用 Locust和 Jmeter 作为加载工具)

Nginx 版本:1.19.4

尝试了10 个提高 10 倍应用程序性能的技巧调整 NGINX 性能, 但没有效果。运行 nginx 和 tomcat 的机器应该足够强大(EC2 c5.4XLarge),我们没有看到资源缺乏,但网络上限更多。TIME_WAIT 连接数非常高 (20k-40k)

从机器角度:

  • 增加网络端口范围(1024 65300)
  • 降低 tcp_fin_timeout (15ms)
  • 将最大 FD 增加到最大

Nginx视角(之后添加nginx.conf):

  • keepalive_requests 100000;keepalive_timeout 1000;
  • worker_processes 10(16 是 CPU 数量)
  • 工人连接数 3000;
  • worker_rlimit_nofile 100000;

nginx.conf:

user  nginx;
worker_processes 10;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


worker_rlimit_nofile 100000;
events {
   worker_connections  3000;
}


http {
   include       /etc/nginx/mime.types;
   default_type …
Run Code Online (Sandbox Code Playgroud)

nginx performance-testing tomcat7 centos7 nginx-reverse-proxy

0
推荐指数
1
解决办法
7201
查看次数

CORS 方法 PATCH 未显示在 Access-Control-Allow-Methods 中

我正在开发 Angular 9 应用程序,并使用 Angular httpclient 发送补丁要求。但由于预检请求未通过,要求总是失败。我知道我可以添加一些关于允许方法的设置,我做了,但仍然不起作用,似乎我的设置不适用于角度 httpclient。我在这个问题上纠结了很长时间,请大家给一些关于这个问题的建议。服务器是Tomcat 7(7.0.106),rest api是jersery,这里是web.xml中设置的一部分

    <filter>
        <filter-name>CorsFilter</filter-name>
        <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
        <init-param>
            <param-name>cors.allowed.origins</param-name>
            <param-value>*</param-value>
        </init-param>
        <init-param>
            <param-name>cors.allowed.headers</param-name>
            <param-value>Authorization,Content-Type,X-Requested-With,Origin,Accept,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
        </init-param>
        <init-param>
            <param-name>cors.allowed.methods</param-name>
            <param-value>GET, POST, PUT, DELETE, OPTIONS, HEAD, PATCH</param-value>
        </init-param>
    </filter>
Run Code Online (Sandbox Code Playgroud)

这是 Angular httpclient 在 Chrome 中的请求详细信息(失败的)

**General**
Request URL: http://localhost:8080/api/v1/user/testPatch
Request Method: OPTIONS
Status Code: 200 OK
Remote Address: [::1]:8080
Referrer Policy: strict-origin-when-cross-origin
**Request Header**
...
Accept: */*
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Headers: content-type
Access-Control-Request-Method: PATCH
Cache-Control: no-cache
Connection: keep-alive
Host: localhost:8080
Origin: http://localhost:4200
Pragma: no-cache
Referer: http://localhost:4200/ …
Run Code Online (Sandbox Code Playgroud)

java jersey cors tomcat7 angular

0
推荐指数
1
解决办法
3498
查看次数

struts2 无法加载配置

SEVERE: Exception starting filter struts2
  Unable to load configuration. - bean -  jar:file:/C:/Users/vaio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsCRUD/WEB-INF/lib/struts2-core-2.3.4.1.jar!/struts-default.xml:29:72
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:450)   at
org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
    at
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
    at
org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
    at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
    at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
    at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638)
    at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
    at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568)
    at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558)
    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) Caused by: Unable to load
configuration. - bean -
jar:file:/C:/Users/vaio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/StrutsCRUD/WEB-INF/lib/struts2-core-2.3.4.1.jar!/struts-default.xml:29:72
    at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
    at
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:437)
    ... 16 more Caused by: Unable to load bean: type:
class:com.opensymphony.xwork2.ObjectFactory - …
Run Code Online (Sandbox Code Playgroud)

eclipse apache struts2 tomcat7

-1
推荐指数
1
解决办法
2万
查看次数

为什么我得到"没有为jdbc找到合适的驱动程序:mysql:// localhost:3306/test2"?

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test2
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.room302.util.DBConnectionUtil.getConnection(DBConnectionUtil.java:32)
    at com.room302.dao.roomDAO.addexpense(roomDAO.java:26)
    at com.room302.servlet.Navigator.doPost(Navigator.java:69)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我的Util文件如下:

public class DBConnectionUtil
{   
    private static final String USERNAME="root";
    private static final String PASSWORD="1234";
    private static final String URL="jdbc:mysql://localhost:3306/test2";
    private static …
Run Code Online (Sandbox Code Playgroud)

java servlets jdbc tomcat7

-2
推荐指数
1
解决办法
6071
查看次数