当前位置: 首页 > news >正文

国外用python做的网站可以做c 试题的网站

国外用python做的网站,可以做c 试题的网站,个人博客网页设计,微信小程序哪里找这篇文章是上一篇文章的逻辑延续。 唯一的区别是我们将使用的容器#xff1a;它将是我们的老兄Apache Tomcat而不是Jetty 。 令人惊讶的是#xff0c;嵌入最新的Apache Tomcat 7非常容易#xff0c;因此现在让我展示一下。 我不会重复完整的上一篇文章 #xff0c;因为除了… 这篇文章是上一篇文章的逻辑延续。 唯一的区别是我们将使用的容器它将是我们的老兄Apache Tomcat而不是Jetty 。 令人惊讶的是嵌入最新的Apache Tomcat 7非常容易因此现在让我展示一下。 我不会重复完整的上一篇文章 因为除了POM文件和Starter类之外没有任何更改。 除了这两个之外我们正在重用以前所做的一切。 对于POM文件我们需要删除Jetty依赖性并将其替换为Apache Tomcat 。 第一个更改将在properties部分中我们将用org.apache.tomcat替换org.eclipse.jetty.version 。 所以这行 org.eclipse.jetty.version8.1.8.v20121106/org.eclipse.jetty.version 变成 org.apache.tomcat7.0.34/org.apache.tomcat 第二个更改是依赖关系本身我们将替换以下行 dependencygroupidorg.eclipse.jetty/groupidartifactidjetty-server/artifactidversion${org.eclipse.jetty.version}/version /dependencydependencygroupidorg.eclipse.jetty/groupidartifactidjetty-webapp/artifactidversion${org.eclipse.jetty.version/version /dependency 这些 dependencygroupidorg.apache.tomcat.embed/groupidartifactidtomcat-embed-core/artifactidversion${org.apache.tomcat}/version /dependencydependencygroupidorg.apache.tomcat.embed/groupidartifactidtomcat-embed-logging-juli/artifactidversion${org.apache.tomcat}/version /dependency 太好了这部分完成了。 最后一部分专门讨论主类实现中的更改我们将用Apache Tomcat替换Jetty 。 package com.example;import java.io.File; import java.io.IOException;import org.apache.catalina.Context; import org.apache.catalina.loader.WebappLoader; import org.apache.catalina.startup.Tomcat; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.cxf.transport.servlet.CXFServlet; import org.springframework.web.context.ContextLoaderListener; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;import com.example.config.AppConfig;public class Starter { private final static Log log LogFactory.getLog( Starter.class );public static void main(final String[] args) throws Exception {final File base createBaseDirectory();log.info( Using base folder: base.getAbsolutePath() );final Tomcat tomcat new Tomcat();tomcat.setPort( 8080 );tomcat.setBaseDir( base.getAbsolutePath() ); Context context tomcat.addContext( /, base.getAbsolutePath() );Tomcat.addServlet( context, CXFServlet, new CXFServlet() );context.addServletMapping( /rest/*, CXFServlet );context.addApplicationListener( ContextLoaderListener.class.getName() );context.setLoader( new WebappLoader( Thread.currentThread().getContextClassLoader() ) );context.addParameter( contextClass, AnnotationConfigWebApplicationContext.class.getName() );context.addParameter( contextConfigLocation, AppConfig.class.getName() );tomcat.start();tomcat.getServer().await();}private static File createBaseDirectory() throws IOException {final File base File.createTempFile( tmp-, );if( !base.delete() ) {throw new IOException( Cannot (re)create base folder: base.getAbsolutePath() );}if( !base.mkdir() ) {throw new IOException( Cannot create base folder: base.getAbsolutePath() ); }return base;} } 该代码看起来非常简单但冗长因为在没有指定某些工作目录的情况下似乎不可能以嵌入式模式运行Apache Tomcat 。 小小的createBaseDirectory函数创建一个临时文件夹我们将其作为baseDir馈入Apache Tomcat 。 实现表明我们正在端口8080上运行Apache Tomcat服务器实例我们正在配置Apache CXF servlet来处理/ rest / *路径上的所有请求我们将添加Spring上下文侦听器最后将服务器启动。 将项目构建为一个胖子或一个罐子之后 我们将拥有一个功能完善的服务器来托管我们的JAR-RS应用程序 mvn clean package java -jar target/spring-one-jar-0.0.1-SNAPSHOT.one-jar.jar 我们应该看到这样的输出 Jan 28, 2013 5:54:56 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler [http-bio-8080] Jan 28, 2013 5:54:56 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Tomcat Jan 28, 2013 5:54:56 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.34 Jan 28, 2013 5:54:56 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/jsp_2_0.xsd Jan 28, 2013 5:54:56 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/jsp_2_1.xsd Jan 28, 2013 5:54:56 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/jsp_2_2.xsd Jan 28, 2013 5:54:56 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd Jan 28, 2013 5:54:56 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd Jan 28, 2013 5:54:56 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd Jan 28, 2013 5:54:56 PM org.apache.catalina.startup.DigesterFactory register WARNING: Could not get url for /javax/servlet/jsp/resources/web-jsptaglibrary_2_1.xsd Jan 28, 2013 5:54:57 PM org.apache.catalina.loader.WebappLoader setClassPath INFO: Unknown loader com.simontuffs.onejar.JarClassLoader187a84e4 class com.simontuffs.onejar.JarClassLoader Jan 28, 2013 5:54:57 PM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring root WebApplicationContext Jan 28, 2013 5:54:57 PM org.springframework.web.context.ContextLoader initWebApplicationContext INFO: Root WebApplicationContext: initialization started Jan 28, 2013 5:54:58 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO: Refreshing Root WebApplicationContext: startup date [Mon Jan 28 17:54:58 EST 2013]; root of context hierarchy Jan 28, 2013 5:54:58 PM org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider registerDefaultFilters INFO: JSR-330 javax.inject.Named annotation found and supported for component scanning Jan 28, 2013 5:54:58 PM org.springframework.web.context.support.AnnotationConfigWebApplicationContext loadBeanDefinitions INFO: Successfully resolved class for [com.example.config.AppConfig] Jan 28, 2013 5:54:58 PM org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor INFO: JSR-330 javax.inject.Inject annotation found and supported for autowiring Jan 28, 2013 5:54:58 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory62770d2e: defining beans [org.springframework.context.annotation.internal ConfigurationAnnotationProcessor,org.springframework.context.annotation. internalAutowiredAnnotationProcessor,org.springframework.context.annotation. internalRequiredAnnotationProces sor,org.springframework.context.annotation.internalCommonAnnotationProcessor, appConfig,org.springframework.context.annotation.ConfigurationClassPostProcessor. importAwareProcessor, cxf,jaxRsServer,jaxRsApiApplication,peopleRestService,peopleService,jsonProvider]; root of factory hierarchy Jan 28, 2013 5:54:59 PM org.apache.cxf.endpoint.ServerImpl initDestination INFO: Setting the servers publish address to be /api Jan 28, 2013 5:54:59 PM org.springframework.web.context.ContextLoader initWebApplicationContext INFO: Root WebApplicationContext: initialization completed in 1747 ms Jan 28, 2013 5:54:59 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler [http-bio-8080] 让我们发出一些HTTP请求以确保一切正常。 curl http://localhost:8080/rest/api/people?page2 [{email:person6at.com,firstName:null,lastName:null},{email:person7at.com,firstName:null,lastName:null},{email:person8at.com,firstName:null,lastName:null}, {email:person9at.com,firstName:null,lastName:null}, {email:person10at.com,firstName:null,lastName:null} ] curl http://localhost:8080/rest/api/people -X PUT -d emailab.com {email:ab.com,firstName:null,lastName:null} 而且我们仍然100免费提供XML 不过有一个重要的注意事项 我们每次都会创建一个临时文件夹但永远不会删除它对base调用deleteOnShutdown不能像预期的那样对非空文件夹起作用。 当我决定保持代码整洁时请记住这一点例如添加您自己的关闭挂钩。 参考 http //aredko.blogspot.gr/2013/01/going-rest-embedding-tomcat-with-spring.html来自Andriy Redko {devmind}博客上的JCG合作伙伴 Andrey Redko。 翻译自: https://www.javacodegeeks.com/2013/02/going-rest-embedding-tomcat-with-spring-and-jax-rs-apache-cxf.html
http://www.huolong8.cn/news/469847/

相关文章:

  • 企业网站有哪些例子整站seo
  • 猎头网站模板零基础网站建设书籍
  • 网站一年多少钱中国建设传媒网官网
  • 网站推广妙招wordpress 小工具移动
  • 如何做服装企业商城网站做网站模板出售类网站怎么样
  • 手机网站幻灯片深圳品牌策划营销
  • 800多块做网站莱芜新闻视频回放今天
  • 织梦网站会员中心模板下载将网站建设外包出去的好处
  • dw是做网站的软件吗用net语言做网站平台好不好
  • 用ps制作黑色高光网站按钮中国人才网
  • 站长基地gif网站素材wordpress漏洞扫描工具
  • 休闲咖啡厅网站开发目标网站建设制作需求
  • 淘宝优惠券 如果做网站影视网站建设目的
  • 做纺织机械的网站域名福安市住房和城乡建设网站
  • ui设计 国外网站高端服装网站
  • 西部数码官方网站怎样建网站
  • 部门网站建设目的天宁寺网站建设
  • 网站建设大体包含WordPress积分插件制作
  • 旅游门户网站系统公司备案证查询网站查询
  • 出口贸易网站网站安全建设模板下载
  • 深圳精品网站制作广东佛山如何制作网站公司
  • 360网站推广登录私人网站开发公司
  • 网站接入查询申请域名 建设网站
  • 网站推广如何指定关键词优化wordpress转发微信缩略图
  • 英文站网站源码pr培训
  • 淘宝网站备案母婴网站模板
  • 一定得做网站认证网站怎么做电子合同
  • fedora做网站服务器wordpress取消手机版
  • 湘潭网站推广wordpress删除作者信息
  • 建立网站需要注意事项wordpress股票api