Tag: tomcat

在Tomcat 7.0.47中部署RestEasy服务

我正在使用RestEasy开发Rest服务。 我需要在Tomcat中部署。 我认为我的web.xml中存在问题 这是我的web.xml: MyServices resteasy.scan true resteasy.servlet.mapping.prefix /services resteasy-servlet org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher javax.ws.rs.Application com.service.services.MessageApplication resteasy-servlet /services/* 我有服务: @GET @Path(“/hello”) @Produces({MediaType.APPLICATION_JSON}) public String Hello(String name) { System.out.println(“Hello “+name); return(“Hello “+name); } 当我部署时,我调用http://localhost:8080/MyServices/services/hello?name=Jesus Tomcat显示此错误: java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) 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:142) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) […]

处理Tomcat servlet中的重复GET请求(由Trendmicro引起)

在Apache Tomcat servlet中处理来自同一客户端的重复GET请求的最佳策略是什么? 基本上,我得到的是2个请求相隔几秒钟,第一个来自客户端的真实IP,第二个来自TrendMicro服务器(这看起来与此处描述的效果相同)。 现在我的servlet忠实地为这两个请求提供服务但稍后会产生问题(因为它调用了另一个很可能无法处理这种情况的远程服务)。 所以问题是,如何阻止第二个请求? 或者还有其他策略可以解决这个问题吗? 谢谢!

Tomcat无法启动 – java.lang.ClassNotFoundException:org.hibernate.Query

我尝试在Servlet中使用Hibernate,但是当我启动服务器(Tomcat 7.0 – 右键单击​​>> start)时,服务器无法启动,而是它给了我这个错误: ….. SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/stockservletconnection]] at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1128) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) 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) Caused by: org.apache.catalina.LifecycleException: Failed […]

我可以对其他Tomcat实例执行URL重写吗?

是否可以使用Tuckey的URL Rewrite重写为不同的Tomcat实例? 我让它使用crossContext=”true”重写到同一个tomcat实例上的不同servlet,但我们的生产服务器有多个运行的tomcat实例,我想改写为其中一个? 如果使用URL Rewritefilter是不可能的,还有另一种方法吗? 谢谢。

相互认证Android和Tomcat

我想为我的应用和服务器进行相互认证。 我按照这一步: 1)创建证书。 和服务器tomcat的密钥库(tomcat.keystore) 2)创建证书。 为客户 3)导入客户端证书。 进入服务器密钥库 4)为Android创建一个bks密钥库(smartssl.bks) 5)导入证书。 服务器和客户端进入密钥库Android 现在我配置Tomcat: 在Android应用程序中,我使用Volley框架: InputStream keyStore = getResources().openRawResource(R.raw.smartssl); // Usually getting the request queue shall be in singleton like in {@see Act_SimpleRequest} // Current approach is used just for brevity RequestQueue queue = Volley .newRequestQueue(Act_SsSslHttpClient.this, new ExtHttpClientStack(new SslHttpClient(keyStore, “pass”, 443))); StringRequest myReq = new StringRequest(Method.GET, “https://192.168.1.4:8443/REST/app/generali/getA”, […]

Class.getResourceAsStream的解释以及如何在Tomcat中为简单的Java Web应用程序设置它?

我有一个非常简单的java web应用程序,它部署到Tomcat。 在这个应用程序中,我有一些代码如下: package com.mywebapp.hello; import javax.servlet.http.*; import java.io.*; public class PdfTwoServlet extends HttpServlet { public void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { httpServletResponse.setContentType(“application/pdf”); InputStream is = PdfTwoServlet.class.getResourceAsStream(“/two.pdf”); 当我编译我的代码并将其部署到tomcat时,目录结构如下所示: 这就是C:\ Tomcat \ webapps \ myApplication: 所以 PdfTwoServlet.class.getResourceAsStream(“/two.pdf”); 工作正常,找到类文件夹下的文件two.pdf,但我不知道这是如何工作的。 以编程方式访问JSF应用程序中的属性文件 BalusC说: Class#getResourceAsStream()可以采用一个路径,该路径相对于您在那里使用的Class的位置作为起点。 如果使用/foo/filename.properties,那么它实际上将从类路径根加载foo / filename.properties。 我有两个问题: 1)为什么classpath根目录是WEB-INF \ classes文件夹? 它在哪里确定? (据我所知,应该是因为我说的代码工作正常。) 根据这个: http : //docs.oracle.com/javase/tutorial/essential/environment/paths.html […]

由于路径差异java,spring mvc,velocity找不到JS / CSS文件

我有这个目录结构: webapp – resources – custom.js – base.css – WEB-INF – views – layout.vm – top.vm – footer.vm – index.vm – FolderA – restricted.vm 我的layout.vm是: #parse(‘top.vm’) $screen_content #parse(‘footer.vm’) 我的top.vm包括这些JS和CSS文件: 现在当我访问http://www.example.com:8080/index页面时,我看到JS和CSS文件被找到了。 但是当我访问http://www.example.com:8080/FolderA/restricted时 ,找不到JS和CSS文件。 当它在顶部我改变它时它起作用 但随后索引页面被破坏了。 我使用spring控制器返回适当的视图。 例如,以下内容返回索引页面: @RequestMapping(value = “/”, method = RequestMethod.GET) public String home(Model model) { return “index”; } 这会返回受限制的视图: @Controller @RequestMapping(value = “/FolderA”) […]

SLF4J的多个绑定

我在spring boot应用程序中遇到以下错误: SLF4J:类路径包含多个SLF4J绑定。 SLF4J:在[jar:file:/opt/tomcat/webapps/ROOT/WEB-INF/lib/slf4j-simple-1.7.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]中发现绑定SLF4J:发现绑定在[jar:file:/opt/tomcat/webapps/ROOT/WEB-INF/lib/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:见http:// www .slf4j.org / codes.html#multiple_bindings的解释。 我去了链接,试图从我认为导入它的pom中删除slf4j-simple-1.7.13和logback-classic但它没有用。 org.apache.solr solr-solrj ${solrj.version} org.slf4j slf4j-api 和 org.apache.solr solr-solrj ${solrj.version} ch.qos.logback logback-classic Solr J版: 5.2.1 如何确定这是否是正确的违规模块? 有什么我做错了吗? pom文件使用我们自己创建的spring boot父级。 也许这就是需要排除的地方? 这是org.slf4j的依赖树: [INFO] [INFO] — maven-dependency-plugin:2.8:tree (default-cli) @ some-service — [INFO] com.company.io.some.service:some-service:war:1.0.0-SNAPSHOT [INFO] +- com.company.io.commons:commons-mongo:jar:1.0.0:compile [INFO] | \- com.company.io.commons:discovery-schema:jar:1.0.0:compile [INFO] | +- com.company.io.commons:commons-schema:jar:1.0.0:compile [INFO] | | \- […]

在tomcat中重新加载类文件

我在运行时创建一个类文件。 我想用类加载器中的更新版本替换现有的类文件。 它类似于热交换(例如JRebel),它避免了服务器重启和重新部署。 我找到了tomcat用于上下文重载的context.xml方法。 但在生产环境中它并不是很有用。 我们可以在运行时使用ClassLoader注册类吗? 请建议是否有任何替代方法在运行时重新加载类。 我使用以下代码来检索当前的classLoader。 ClassLoader classLoader = LoggingAspect.class.getClassLoader(); 下面是load class方法的实现。 public class AspectClassLoader extends ClassLoader{ @Override public synchronized Class loadClass(String name) throws ClassNotFoundException { String customLoadClass = “com.log.LoggingAspect”; try { if(!customLoadClass.equals(name)) { return super.loadClass(name); } else { URL classLoadUrl = new URL(this.reloadClassUrl); URLConnection connection = classLoadUrl.openConnection(); InputStream input = connection.getInputStream(); ByteArrayOutputStream […]

Spring 3 + Tomcat 6:表单validationexception – java.lang.NoSuchMethodError:javax.el.E​​xpressionFactory.newInstance()Ljavax / el / ExpressionFactory;

我是Spring 3 MVC的新手,正在尝试使用Java validation API和Hibernate Validator实现JAR进行表单validation。 我正在使用Tomcat 6作为我的应用程序。 下面是pom.xml : 3.1.1.RELEASE 1.6 org.springframework spring-core ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-webmvc ${spring.version} cglib cglib 2.2.2 javax.servlet jstl 1.2 javax.servlet javax.servlet-api 3.0.1 junit junit 3.8.1 test javax.validation validation-api 1.1.0.Final org.hibernate hibernate-validator 5.0.1.Final 下面是模型类Employee.java : @Size(min=2,max=30) private String name; @NotEmpty @Email private String email; @NotNull @Min(18) @Max(35) private […]