Tomcat7中文文档(配置说明详解)

Tomcat7中文文档(配置说明详解)
Tomcat7中文文档(配置说明详解)

Tomcat7中文文档

注:本文根据tomcat官网(https://www.360docs.net/doc/c61812102.html,)tomcat7.0官方文档整理。

Tomcat作为开源项目,深受程序开发员的喜欢,但是开源项目的缺点就是经常升级,说明文档都是英文的,搞不清楚有哪些东西换了,配置方法是不是变了。新版本出来后,网上很难找到较齐全的说明文档,只能看英文官网。在搭建java等开发平台时有很多东西要去学,每个都这样去研究太累。本人利用业余时间,研读了tomcat7的官方文档,现在把它拿出来和大家分享(初学者用不到的一些章节未翻译)。希望大家在tomcat学习上少走弯路,少花时间。Tomcat目前最新版本V7.0!因本人水平有限,翻译或理解不当之处,还请高手指正。让我们发挥“互联网”精神,一起完善这份文档,为开源软件使用推广出份力。

---2011年7月30日于浙江丽水在开始学习之前,下载和安装tomcat是必要的。(下载和安

装tomcat之后的所有文档按照tomcat官网文档顺序)

(注:Tomcat7需要java6及以上版本,请先安装java sdk。https://www.360docs.net/doc/c61812102.html,/technetwork/java/javase/downloads/index.html.安装好后设置系统变量 JAVA_HOME)

下载页面:http:// https://www.360docs.net/doc/c61812102.html, 选7.0版的

以下是下载安装说明:

下载zip (pgp, md5) ,直接解压就可以了,无需安装。(启动tomcat:双击bin目录下的startup.bat文件。如果启动一闪而过,说明tomcat发现系统没安装Java或未正确设置JA V A_HOME系统变量。建议再下载一个tomcat

增强的ARP。ARP这是一种让服务器更稳定,效率更高的增强的服务器技术。默认安装没有windows动态链接库tcnative-1.dll。所以tomcat启动时会提示没有找到ARP。下载存放到system32目录下即可。下载地址如下:https://www.360docs.net/doc/c61812102.html,/apache-mirror/tomcat/tomcat-connec tors/native/1.1.20/binaries/win32/)

(注意不是startup.sh,startup.sh是UNIX 双击“startup.bat”

系统用的)启动tomcat显示的信息就很“干净”了。(启动显示的首页在tomcat主目录的webapps/ROOT 里,ROOT是默认的Context(上下文)。)。关闭tomcat双击“shutdown.bat”。

Full docaumentation 是tomcat7说明文档(和官网一样的)

Deployer: 部署应用程序的工具

Extras::其他一些附加类库文件。

以下根据官网文档结构翻译成中文

Docs Home:文档主页

?1) Introduction tomcat总体简要介绍

?2) Setup介绍如何安装tomcat

?3) First webapp第一个应用程序。介绍了Servlet 规范中web应用程序(web application)的概念,web application 的组织,文档机构,部署描述文件(/WEB-INF/web.xml). 等

?4) Deployer介绍了如何部署web application,预编译,和验证web application。?5) Manager利用Manager应用程序管理web application部署,以及在tomcat 运行时重新部署

?6) Realms and AAA介绍Realms(域)的概念,以及怎么配置权限管理。?7) Security Manager介绍怎么配置和使用Security Manager(安全管理器)?8) JNDI Resources介绍JNDI概念及如何定义

?9) JDBC DataSources介绍了如何配置一个JNDI的JDBC数据源,以及一些流行数据库的配置方法。

?10) Classloading介绍了如何加载类,以及怎样放置你的类。

?11) JSPs介绍了Jasper的配置,JSP编译用法

?12) SSL安装配置SSL(安全套接层),使用https协议。

?13) SSI(服务器端包含)在tomcat中使用SSI(一种在HTML文件嵌入一些SSI指令,在网页加载时服务器端再解析这些指令的方法)

?14) CGI通用网关接口。介绍tomcat如何配置CGI。

?15) Proxy Support介绍有关代理的内容

?16) MBean Descriptor介绍有关MBean内容。

?17) Default Servlet默认的Servlet

?18) Clustering(集群:是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。

?19) Load Balancer负载均衡

?20) Connectors连接模块,支持集群和负载均衡

?21) Monitoring and Management监视管理tomcat

?22) Logging有关日志的内容

?23) APR/Native tomcat一种实现更好性能,可扩张伸缩、更好集成的服务器技术

?24) Virtual Hosting虚拟主机

?25) Advanced IO

?26) Additional Components附加组件

?27) Mavenized tomcat中如何利用Maven.

?28) Security Considerations安全化方面的注意事项

?29) Windows Service在Windows系统中将tomcat作为一种后台服务运行

?30) Windows Authentication如何整合Windows系统的身份验证

?31) Tomcat's JDBC Pool tomcat的数据库连接池技术,比common_dbcp 更优的选择。

?FAQ常见问题,里面有一些有用的编程经验。包括中文乱码处理,数据库连接等。

1)Introduction简单的一些介绍

●Terminology 术语:

Context(一般叫上下文):简单的说:a Context is a web application.。一个Context 就是一个web应用程序。

●Directories and Files 目录和文件:

文中$CATALINA_HOME 代表你安装tomcat的目录。如果tomcat有多个实例就用$CATALINA_BASE区分。如果只有一个实例,$CATALINA_HOME 和

$CATALINA_BASE的意义是一样的。

●Tomcat的目录及包含内容

/bin包含启动、关闭tomcat和其他一些脚本。.sh文件是UNIX系统用的,.bat是window系统用的,但功能是相同的。因为WIN32系统缺乏某些功能,因此在该目录下还包含一些辅助文件。

/conf包含一些配置文件和DTD文件,最重要的文件是server.xml,它是tomcat的主配置文件。

/logs日志目录,存放日志文件。

/webapps应用目录,你自己的web应用程序就放在这里。

(其实还包括/lib(tomcat核心类库)/work(JVM临时文件目录[java.io.tmpdir]))

●Configuring Tomcat配置tomcat

所有的配置文件在启动的时候会被读取,如果有配置文件有变动必须

重启tomcat,以反映新的配置。

●Where to Go for Help 从哪里获得帮助

2) Setup(安装)

Windows环境的安装

Installation as a service 。选择此项,在window系统将作为一个windows服务(service)来安装。如果安装过程中选中auto,则在window启动时将自动启动。出于安全考虑,建议为该服务建立一个单独的window账户,减少不必要的一些权限。

Java location: tomcat需要java环境。安装时,Tomcat会去读取window注册表或window的JA V A_HOME系统变量。

Tray icon: window右下角的托盘图标。如果作为tomcat作为serverice来运行,将不会出现托盘图标(但刚安装好后,选择立即启动时,会显示)。

安装程序将创建快捷方式来启动或配置tomcat,但要启动administration web application (用来管理tomcat配置的应用程序),必须先启动tomcat。

?3) First webapp通过一个web应用,熟悉tomcat的基本结构

?Installation

介绍了tomcat的安装以及一些工具的安装(Ant:一个类似make的工具,用来编译/运行/测试java程序,强烈推荐了解Ant,因为后面很多地方用到它。Ant介绍可见百度

https://www.360docs.net/doc/c61812102.html,/view/f21a8deb172ded630b1cb6d8.html. CVS:编程时的源代码控制工具,Concurrent Version System,方便维护源代码文档,适合多人开发时维护文档,有服务器端和客户端。百度介绍的很清楚:https://www.360docs.net/doc/c61812102.html,/view/20982.htm)

?Deployment

Background 背景

部署web应用到一个特定服务器时,将需要分配一个Context(比如/catalog),这样你就可以通过/catalog/index.html来访问你的网页了。

Standard Directory Layout 一个web应用的标准目录结构

*.html, *.jsp, etc. 放置HTML and JSP 网页以及css样式、图片等资料,大的项目可以再建立子目录。

/WEB-INF/web.xml web应用的部署文件,是个XML文件。在这个文件你可以你可以定义servlet和一些组件,还能够初始化参数,以及安全上的一些限制设置。

/WEB-INF/classes/在这个目录,放置java类文件,这些类文件是没有打包(JAR包)的类文件(servlet或非servlet类文件),放在这里的类必须和你的package目录结构一致。如类com.mycompany.mypackage.MyServlet,目录就像下面

/WEB-INF/classes/com/mycompany/mypackage/MyServlet.class

/WEB-INF/lib/ 在这个目录,放置java类文件(用JAR形式),比如第三方的类库和数据库连接用的JDBC驱动类库。

当你将一个应用程序安装到tomcat,WEB-INF/classes/和WEB-INF/lib/的类文件对于你特定的web应用程序里的其他类是可见的。如果你将你所需要的所有类库放在这些位置,这将简化你的web应用程序的安装过程,而不必调整系统的类路径。(否则系统的类路径需要修改,不然import的类会找不到)

上述这些其实是Servlet API Specification, version 2.3章中的内容。

Shared Library Files 共享文件库放在$CATALINA_HOME/lib目录中,共所有web 应用程序共享。JAR文件放在这里对web应用程序和tomcat内部代码都是可见的。web应用程序或tomcat用到的JDBC drivers放在这里是比较合理的。

tomcat预安装的共享类库包括Servlet 3.0 and JSP 2.1 APIs 和XML Parser APIs(一个XML 解析器,符合JAXP(Java API for XML Parsing:用于分析XML的API)),这样你就可以在你的应用程序中用基于DOM-based 或SAX-based方式处理XML文件。(DOM文档对象模型,SAX The Simple API for XML,一个循序存取XML的API)

Web Application Deployment Descriptor web 应用部署描述

/WEB-INF/web.xml是部署描述文件。定义应用程序中服务器需要知道的一切东西(Context除外,它是部署的时候由管理员分配的)。

原文提供了一个web文件例子见:basic web.xml file,里面有每个元素的含义解释。Servlet包含了web.xml文件的DTD (文档类型描述),因此你的web.xml必须按照DTD的顺序声明。

Tomcat Context Descriptor tomcat的Context描述文件

/META-INF/context.xml用来定义tomcat特有的一些配置选项,如日志,数据源,session 管理等,该文件必须包含一个元素。

This XML file must contain one Context element, which will be considered as if it was the child of the Host element corresponding to the Host to which the The Tomcat configuration documentation contains information on the Context element.(英文看不懂)

Deployment With Tomcat 部署

$CATALINA_BASE 代表应用的基目录,相关的目录以它为根。如果你没有配置运行tomcat的多个实例,$CATALINA_BASE将被设置为$CA TALINA_HOME。

要配置tomcat的多个实例,见百度。可以放在两个不同目录的tomcat软件,修改其中一个的端口即可,但不方便升级tomcat,因为两个tomcat软件都要升级。较好的做法是在同一个tomcat软件上运行多个实例,新建一个和tomcat目录一样的目录(比如在tomcat安装目录下新建一个web目录),但web目录只包括以下子目录

(conf,logs,shared,webapps,work,temp),不包括bin、lib目录。在/conf/server.xml中新建一个service元素,定义第二个实例,修改端口。然后在这个目录下写一个新的startup.bat文件

(在bat文件中设置$CA TALINA_BASE),用以启动tomcat。这样就可以启动另外一个tomcat 实例了。

web应用要可执行,必须部署到servlet容器中(tomcat),即使是在开发期间。

几种部署的方法。

●Copy unpacked directory hierarchy into a subdirectory in directory 直接拷贝未打包的程序目录到$CATALINA_BASE/webapps/ ,tomcat将分配一个Context PATH给你(根据你的应用的子目录名),在开发期间,这是最快最容易的方法。安装和更新web应用后必须重启tomcat。

●Copy the web application archive file into directory

$CATALINA_BASE/webapps/.拷贝打

包的web应用程序(war包)到$CA TALINA_BASE/webapps/。如果拷贝时tomcat已经启动了,tomcat将自动解包,并且可执行。这种方式比较适合于从第三方来的打包的应用。注意:用这种方法部署,如果你想更新你的web应用,你必须删除tomcat自动解包的目录,并且将新的包覆盖原来的包。然后重启tomcat,反映你的变化。

●Use the Tomcat "Manager" web application to deploy and undeploy web applications.利用Tomcat "Manager" web application部署。tomcat默认有一个Manager的web应用程序,这个应用程序的Context PA TH是/manager.允许你在一个运行tomcat的服务器上部署或卸载应用程序,而不需要重启。

●Use "Manager" Ant Tasks In Your Build Script. 利用在Ant的部署文件中的“Manager”

任务(task)。tomcat包含一组自定义的Ant任务,这些任务被用于tomcat的部署。

●Use the Tomcat Deployer. tomcat包含一个绑定到ant tasks的打包工具,可以在部署到服务器之前自动对JSPs(也是web应用程序的其中一部分)预编译。

Directory Structure 目录结构

将源代码目录与原来tomcat部署的目录独立分开是一种很好的做法。它有很多优点,代码更容易管理、控制,部署更方便。你可以根据你喜欢的方式建立目录,下面是一种比较流行的目录结构:

docs/ 存放应用程序文档。

src/ 存放你的web应用程序特有的servlets, beans, and other Java classes源文件,如果有package,要注意目录与包名的一致。

web/ 存放一些静态内容,如HTML pages, JSP pages, JavaScript files, CSS stylesheet files, and images。这个目录成了你的web应用的根目录,

web/WEB-INF/ 这个目录包括:web.xml ,自定义的tag 库,已经其他你想放置的资源,虽然这个目录是根目录的子目录,但Servlet的规范不允许客户端直接访问该目录,因此这里是放置一些比较敏感且必要的信息的好地方,比如数据库的用户名和密码。

在开发期间,有两个目录是临时建立的。

build/ 当你执行Ant的一个默认build,这个目录将包含你的web应用程序包里文件的镜像。

dist/ 当你执行一个Ant的target目标时,这个目录将被建立,它将创建一个二进制的发行版本,包括你预先准备好的文档,版权等信息。

注意,不要在这两个目录编辑你的源文件,因为它们会被删除和重建。

External Dependencies 外部的依赖

如何利用一些外部的依赖类库,不同的程序员有不同的方法,有的是拷贝一份外部依赖类库到每个应用程序的源代码控制文档。这会面临重大问题,特别是你要升级时,每个应用程序里你都要升级。

强烈推荐不要采取上面的做法,取而代之的,应该是将外部的依赖类库作为building应用程序的过程的一个部分,在Ant中设置build.xml文件里的build properties来配置要拷贝的文件目录,而不要担心外部类库升级问题。例子中的build.xml通过定义build properties,在类库修改时也不需要修改build.xml文件。

很多时候,系统管理员已经将这些类库放在了lib目录里,你根本不需要做什么,例子中的build.xml将自动为你建立一个包含这些文件的编译路径。

Source Code Control 源代码控制

涉及到CVS使用的一些问题,不深究。

BUILD.XML Configuration File BUILD.XML配置文件

BUILD.XML 被放置在源代码的顶层目录。介绍了build中常见的target。

开发过程:建立Ant环境,建立源代码目录,编辑源代码和网页、构建web应用程序、测试应用程序、创建一个发布。

4) Deployer部署

两种方式部署:

一、静态安装:在tomcat启动之前就安装好

二、动态安装:通过Tomcat Manager web application 管理程序安装或手工部署

Tomcat Manager 是一个部署应用程序,还有一种叫Client Deployer(客户端部署),这是基于命令行脚本的工具。

Installation

其实部署不需要安装任何东西,但如果你要用Client Deployer部署,则需要安装。Tomcat提供了一个Client Deployer(TCD),这个TCD没有在tomcat的核心包内,你需要单独下载安装(需要Ant)

A word on Contexts

在谈论部署问题时,Context这个概念必须要理解。简单的说一个Context 就是一个web 应用程序。

为了在tomcat中配置Context,Context描述是必须的,这个描述放在一个XML文件里,这个文件里有一些与Context相关的配置,如命名资源,session等。在tomcat早起的版本中,Context描述也被放在tomcat的主配置文件Server.xml文件中,但是现在不推荐这样做(虽然这样它也可以正常工作)。

Context描述一般放在下面两个位置比较合理:

1.$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml

2.$CATALINA_BASE/webapps/[webappname]/META-INF/context.xml

第一个文件名是[webappname].xml ;第二个文件名是context.xml。如果Context描述没有提供,tomcat将使用默认值配置这个Context。

官网接下去介绍了几种部署的方式。

这里重点讲一下Deploying on a running Tomcat server(在一个正在运行的tomcat 服务器中部署)

假如Host 的autoDeploy属性是true,Host将会自动部署和更新web应用程序。拷贝WAR文件到web应用的根目录,web应用会自动展开的。假如web应用被更新了,tomcat 会再部署,删除原来展开的目录,并重新展开新web应用W AR文件。注意如果unpackWARs 属性是false,部署时就不会自动展开WAR文件。web.xml有变动也会重新部署,Context描述文件有变动或者添加到

$CATALINA_BASE/conf/[enginename]/[hostname]/目录也会重新部署。

删除一个web应用的根目录就会卸载一个web应用

5) Manager(tomcat的一个管理用的web应用程序)

Introduction

在很多生产环境中,不必关闭和重启整个的容器而可以安装(或卸载或重载)一个的应用程序是很有用的。tomcat提供了一个专门管理用的web应用程序Manager.这个应用程序可以部署web应用、显示已经部署的应用、重载web应用、显式OS and JVM属性值、显示JNDI资源、停止或启动一个web应用、卸载一个应用。

tomcat默认安装有这个应用程序,manager.xml文件有这个应用的Context描述,如例子。

docBase="/usr/local/kinetic/tomcat7/server/webapps/manager">

有3种方式使用这个管理应用程序:

一是通过在浏览器中的使用管理界面;二是使用http形式的脚本,如

http://{host}:{port}/manager/text/{command}?{parameters}

。脚本命令附加在http地址后面。三是通过ant的任务来操作。

Configuring Manager Application Access(配置访问权限)

访问这个应用需要一个manager-script角色的用户并配置用户名和密码。

MemoryRealm tomcat默认将用户信息存放在

$CATALINA_BASE/conf/tomcat-users.xml,如

roles="standard,manager-script" />

有manager-script角色的用户才能登录这个应用。

JDBCRealm 如果你的用户信息存放在你自己的数据库中,只要赋予它manager-script角色就可以了。

JNDIRealm 如果你的用户信息存放在目录中(通过LDAP),只要赋予它manager-script

角色就可以了。

你还可以通过配置限定登录的IP地址。

官网下面介绍了如何使用Manager,此处不详解了。

?6) Realms and AAA

Realm 域其实就是一个访问权限的概念,也就是定义某个用户可以访问哪些资源,如网页等。

Realm 定义在代表不同的作用范围。

Digested Passwords(摘要式密码)

这是tomcat为了防止密码明码传输不安全而开发新技术,用某种算法对密码进行摘要,服务器上也对该密码用这种算法进行摘要,再进行比对,若一致就允许登录。

对Manager应用程序来说,tomcat没有给任何人分配manager-gui角色,只有管理员添加了这个角色,这个用户才能登录。

官网介绍了几种域的配置,下面重点讲解JDBCRealm。

JDBCRealm 需要一个用户表,存放用户名和密码;还需要一个用户角色权限表,存放用户名和角色。这是一个典型的定义:

driverName="org.gjt.mm.mysql.Driver"

connectionURL="jdbc:mysql://localhost/authority?user=dbuser&passw ord=dbpass"

userTable="users" userNameCol="user_name"

userCredCol="user_pass"

userRoleTable="user_roles" roleNameCol="role_name"/>

其他几种域的配置方式也是大同小异。此处不详解。

?7) Security Manager(安全性管理)

这章主要讲了tomcat在安全性上的管理。

JAVA的安全性管理可以在你用浏览器访问时阻止不信任的程序访问你的本地系统。Tomcat也可以使用安全管理性来保护你的服务器免受特洛伊网页侵害。

假如你授权他可以发布的人不小心将<% System.exit(1); %>这个指令放在JSP网页中,每次有人访问这个网页,tomcat就会退出。使用Java SecurityManager 就像多了一条防线,系统管理员可以使得tomcat更安全,更可靠。选择运行Java SecurityManager总比没有Java SecurityManager 明智。

Permissions

Permission类被用来定义:在一个类被tomcat加载的时候它有什么权限。

Standard Permissions 所列的是JAVA中的Standard Permissions类。

Tomcat Custom Permissions

tomcat自定义的一个权限类:org.apache.naming.JndiPermission。用于控制访问JNDI 资源。

这是tomcat自动部署时,自动建立的权限。

permission java.io.FilePermission "** your application context**", "read";

permission java.io.FilePermission

"** application working directory**", "read,write";

permission java.io.FilePermission

"** application working directory**/-", "read,write,delete";

这个定义允许它去读自己的静态资源,但不允许它使用文件去读取另外的文件。

Configuring Tomcat With A SecurityManager

Tomcat的安全策略文件 $CATALINA_BASE/conf/catalina.policy

Window下你可以通过%CATALINA_HOME%\bin\catalina start -security (Windows)这个指令启动带安全性管理的tomcat服务器。

Configuring Package Protection in Tomcat

现在,你可以配置哪些tomcat的内部包是阻止被定义和访问的。

8) JNDI Resources

Introduction

Tomcat为每一个web应用程序提供了一个InitialContext实例,Java EE 在

/WEB-INF/web.xml文件提供了一组标准的元素,用于引用或定义resource。

web.xml configuration

这些定义的资源,可以被定义于你当前的WEB应用的WEB应用布署描述(/WEB-INF/web.xml)文件中的以下节点使用:

:该值用来指定应用运行的环境入口(E nvironment

entry),一个单值参数(a single-value parameter)可以用于配置应用程序如何操作。

:资源引用(Resource reference),典型的应用为

JDBC DataSource、JavaMail Session,或者配置于Tomcat5中的自定义对象工厂。

:资源环境引用(Resource environment

reference),增加于Servlet 2.4中的resource-ref校验,这种可以简化资源配置,不需要授权信息。

假如tomcat能够识别出使用一个合适的资源工厂创建资源,而不需要更进一步的配置信息,那么tomcat就用/WEB-INF/web.xml中的信息创建资源。

context.xml configuration

假如tomcat不能识别出一个合适的资源工厂去创建资源,或者需要额外的信息,那么tomcat还需要提供特殊的一些配置。Tomcat特殊的配置被放在

元素中,这个元素可以放在$CATALINA_BASE/conf/server.xml中,也可以放在每个web应用程序的META-INF/context.xml文件中。

:相当于

:相当于

:资源连接,可以指向元素中定义的

:为在java:comp/UserTransaction中有效的初使化UserTransaction对象实例增加资源工厂。

假如一个资源被定义在中就没必要再在/WEB-INF/web.xml定义。然而,推荐保持入口放在/WEB-INF/web.xml。

同一个资源名称同时被定义在/WEB-INF/web.xml中的

中的,只要允许(通过设置override属性为true),/WEB-INF/web.xml中的定义值优先。

Global configuration

Tomcat为global resources (全局资源)提供了一个单独的命名空间。global resources 在$CATALINA_BASE/conf/server.xml中的被定义。你可以使用这些资源(通过)。

假如一个资源被定义在就没必要再在/WEB-INF/web.xml定义。然而,推荐放在/WEB-INF/web.xml。

Using resources

InitialContext在一个web应用程序最开始的部署时被配置,它被当作一个可用的组件(只读的)。所有被配置的实体和资源都放在java:comp/env名字空间里。

// Obtain our environment naming context

Context initCtx = new InitialContext();

Context envCtx = (Context) initCtx.lookup("java:comp/env");

// Look up our data source

DataSource ds = (DataSource)

envCtx.lookup("jdbc/EmployeeDB");

// Allocate and use a connection from the pool

Connection conn = ds.getConnection();

... use this connection to access the database ...

conn.close();

Tomcat Standard Resource Factories

Tomcat提供了一系列的标准资源工厂,同时又给你弹性灵活的配置(通过)而不必修改web应用程序或部署描述符文件。

注意:在标准资源工厂中,只有"JDBC Data Source"及"User Transaction"工厂可以移植到其它非TOMCAT平台,其它的标准资源工厂,包括你编写的自定义资源工厂,都只可以在TOMCA T下运行,不可以移植到其它的平台。

官网以下介绍了Generic JavaBean Resources、UserDatabase Resources、JavaMail Sessions、JDBC Data Sources等的配置和使用方法。

9) JDBC DataSources

Introduction

JNDI Datasource配置已经在JNDI-Resources-HOWTO中大篇幅的讲到,但从客户反馈的信息看,设置一些个别的细节配置还是很棘手。官网中提醒:下面的例子可能在tomcat7中要对JNDI resource 稍作修改才能用。这个指导文档假设你已经熟知Context and Host和后面关于自动部署的知识。

Database Connection Pool (DBCP) Configurations

DBCP支持JDBC 2.0.。在运行JVM1.4的系统支持JDBC 3.0.

?DBCP使用Commons Database Connection Pool,需要以下组件:

?Commons DBCP

?Commons Pool

这些类库被包含在$CATALINA_HOME/lib/tomcat-dbcp.jar中,只有connection pooling 需要的类被包含在里面,包名也更换了,以免混淆。

Preventing dB connection pool leaks(防止连接池泄漏)

数据库连接池别用来创建和管理数据库的连接。回收和重用已经存在的连接比新建一个连接的效率更高。

然而,这里有个问题。一个web应用程序应该能够正常的关闭ResultSet's, Statement's, and Connection's。而不能正常关闭这些资源将导致不能被重用,数据库连接池“泄漏”了。这最终将导致web应用程序中无连接可用。

为了配置一个DBCP DataSource,被遗弃的数据库连接被移除回收。

当可用连接不够时,DBCP 将还原和循环利用被遗弃的连接。

官网接着是各种数据库的连接例子。

Common Problems(通常碰到的问题)

关闭连接时要注意,代码如果不注意有可能关闭两次,导致错误。见例子。

?10) Classloading

介绍了tomcat类的加载机制和原理。

Tomcat类加载的层次:Bootstrap(引导系统)System Common WebappX

加载顺序:

?Bootstrap classes of your JVM

?System class loader classes (described above)

?/WEB-INF/classes of your web application

?/WEB-INF/lib/*.jar of your web application

?$CATALINA_HOME/lib

?$CATALINA_HOME/lib/*.jar

XML Parsers and JSE 5

在Jse5众多的变化中,JSE 5JRE中包含了JAXP APIs和Xerces,这对使用自己的XML parser.是有影响的。

在tomcat前面的版本中你可以在$CATALINA_HOME/common/lib简单的替换XML parser。但是,在JSE5中,这样将不起作用。因为通常的类加载器派遣进程将总是选择JDK 中指定的。

Tomcat通过Endorsed Standards Override Mechanism机制可以使用自己的XML parser.

-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS

11) JSPs

Introduction

Tomcat 7.0使用Jasper 2 Engine来实现JavaServer Pages 2.1(JSP 2.1规范)

Jasper 2被重新设计了。相比原版本提升了性能。

Configuration

默认,Jasper在开发web应用程序的时候被配置。

Jasper的servlet初始化参数在$CATALINA_BASE/conf/web.xml定义。

Known issues(目前已知存在的问题BUG)

在编译大的JSP文件时,有可能会出现https://www.360docs.net/doc/c61812102.html,ng.InternalError: name is too long to represent异常,你可以缩小JSP文件,也可以禁用SMAP,通过JSR-045支持的suppressSmap(true)属性。

Production Configuration

JSP主要的优化就是预编译JSP,然而有时是不可能的或不实际的,在这种情况,配置Jasper servlet就很关键了。

当你在生产机上使用Jasper 2时,你应该考虑作些改变。

Web Application Compilation

development (设置为开发模式)

Web Application Compilation

对于用JSPC(Apusic提供了jspc工具对JSP文件进行预编译,它的工作原理是首先对JSP源文件进行解析生成java文件,然后使用标准的Java编译器编译。)来编译web applications,用Ant是首选的方法。JSR-45 是这样规定的:JSP 被编译成JAVA代码时,同时生成一份JSP 文件名和行号与JAVA行号之间的对应表(SMAP)。

Hints:

当你更换tomcat版本时,重新编译你的JSP文件。在server runtime让PageContext pooling不可用。限制缓冲buffering。

?12) SSL(讲解如何配置安全套接层,实现加密传输)

?13) SSI

SSI是嵌入HTML里的一些指令,在这些网页被请求的时候,由服务器端求值。它们允许你在HTML里增加动态生成的内容,而不必使用CGI程序,或其他技术。

SSI可以作为Servlet或Filter的支持,你只能选择其一,不能两者同时用。

org.apache.catalina.ssi.SSIServlet ,匹配的URL是*.shtml。

org.apache.catalina.ssi.SSIFilter,匹配的URL是*.shtml。

tomcat默认不支持SSI。

Installation

为了使用SSI Servlet或Filter,你只需去掉$CATALINA_BASE/conf/web.xml.中这些元素周围的注释标记即可。

Servlet Configuration 配置SSI Servlet 参数

Filter Configuration配置SSI Filter 参数

Directives

SSI用HTML的注释的形式出现。这些指令在发送网页给客户端浏览器前被解释。

?config- Used to set the format of dates and other items processed by SSI

?echo - will be replaced by the value of the variable.

?exec - Used to run commands on the host system.

?include - inserts the contents

?flastmod - Returns the time that a file was lost modified.

?fsize- Returns the size of a file.

?printenv - Returns the list of all the defined variables.

?set - is used to assign a value to a user-defind variable.

?if elif endif else- Used to create conditional sections. For example:

Meeting at 10:00 on Mondays

Turn in your time card

Yoga class at noon.

?14) CGI

CGI(Common Gateway Interface 通用网关接口)为一个web服务器定义了一种和外部程序(能够生成内容)交互的方式。通常是指CGI 程序or CGI 脚本。

Tomcat's CGI多数兼容Apache httpd's,但有一些限制(比如只有一个cgi-bin目录)。

org.apache.catalina.servlets.CGIServlet. URL :"/cgi-bin/*".

tomcat默认不支持CGI.

Installation

要使用CGI,只需在$CATALINA_BASE/conf/web.xml.去掉相应的注释符(默认被注释掉了)。

Configuration

?15)Proxy Support(下面的翻译来自网络)。

leon3入门教程(1)

写在最前面的话 2010年年底我开始接触LEON3,花了3个月时间把LEON3源代码大致阅读完,然后参照Gaisler Research 网站上提供的leon3-altera-ep3c25源代码,修改并移植到DE2-70平台上,并作了一些AHB和APB外设的IP核设计,历时近一年,最终完成了我的本科毕业设计。之后因为觉得自己的水平仍不够“FPGA工程师”,觉得LEON3过于复杂,资料太少,学习起来过于疲惫,从而转战NIOS II SOPC和基础数字系统设计,停止对LEON3的进一步学习和研究。这段时间总是会有网友问我一些LEON3的问题,都是基本的问题,比如硬件怎么配置,eclipse怎么使用,IP怎么写。由于自己的确不在做LEON3的研究和开发,连开发环境都没有了,就把以前做的和写的一些材料整理一下,分作四篇博客分享给大家,希望能让初学者少走弯路,快速入门。最后,我自己能力有限,文字水平也有限,如果有什么问题我能帮上大家的我一定不吝啬自己的文字,也希望大家能把LEON3做出点东西。 =================================================================== 摘要: 本系列博客主要简述了如何将简单的LEON3 SOPC系统的配置,并移植到的友晶DE2-70开发板上,并根据AMBA 总线协议设计一个的用户自定义APB IP,并嵌入到这个SOPC系统中。共分为四个部分,第一部分对LEON3一些基本知识进行介绍,以及开发需要使用到的软件和源代码;第二部分介绍Cygwin和GRtools软件的安装和配置说明;第三部分介绍LEON3 SOPC系统构建,并使用Eclipse (LEON3 IDE) LEON3 开发应用程序;最后一部分简单介绍了简单APB IP核(七段数码管的IP)的设计。 四篇博客依次为: (原创)LEON3入门教程(一):什么是LEON3?需要哪些开发工具和软件? (原创)LEON3入门教程(二):Cygwin和GRtools的安装与配置 (原创)LEON3入门教程(三):基于LEON3的SOPC设计:HELLOWORLD和流水灯 (原创)LEON3入门教程(四):基于AMBA APB总线的七段数码管IP核设计 一、总体描述 1 LEON3处理器简介 LEON处理器系列是欧洲航空局的下属的研究所开发的32位的微处理器,应用在航天局的各种ASIC芯片内。目前有LEON2、LEON3系列。LEON系列处理器是一个可配置可综合适用于SoC设计中的微处理器核。LEON3处理器是一个使用SPARC V8(IEEE-1754)指令集的32位RISC处理器,它的源代码由可综合的VHDL代码构成。同时LEON系列处理器的性能也比较理想,可以达到大约0.85MIPS/MHz。更大的好处是LEON处理器是一个公开源代码,遵循GNU LGPL协议。任何人都可以在其网站上免费下载其硬件代码和各种开发软件工具与文档。并在自己的ASIC项目中使用。 LEON3的结构框图如图1所示。

Revolve产品知识

产品名称BOSE SoundLink Revolve 产地墨西哥颜色灰/银 产品尺寸/重量 152×82×82mm/660g 续航时间 12小时 充电时间4小时 供电方式锂电池 音频接口 3.5mm/ USB接口(只限电脑音源)单元尺寸3英寸 NFC功能是 防水级别IPX4防水 通话功能是 语音提示是 APP 是 保修期一年(注册微信会员赠送延保6个月) 包装清单音箱本机x1 USB电源x1USB连接线 x1 交流电源适配器 x1 技术特点1360度全向发声:一个向下发声的全音域单元配合BOSE专利的声波导向技术,可以向四周发出均匀,无死角的声音 技术特点2独特优势:体积小巧 低音震撼 技术特点3优雅的设计:采用高品质阳极氧化铝金属材质配合全新的无缝连接一体成型工艺,是产品更为高雅,耐用 技术特点4蓝牙无线连接:方便,易用,可连接几乎是所有常规的智能手机,平板电脑的蓝牙设 备,可支持与蓝牙设备10米距离的无线连接。技术特点5内置锂电池:更好的便携性,4小时充满电可在正常音量下约12小时的使用时间。 技术特点6IPX4级防水:可以使您在室外环境中放心使用。技术特点7BOSE Connect APP :轻松实现“派对模式”与“立体声模式”的切换,可以满足您更多声音需求。技术特点8支持有线连接:3.5mm与USB接口可以满足你有线音源的连接,连接更多的设备。 技术特点9可选配充电底座:充电方便,同时为扬声器在家中使用时提供了一个放置的地方。 技术特点10 远程操作:可通过配对的蓝牙设备控制扬声器的各项功能(如音量等)不需要携带其他产品说明

音效表现 Feature令人惊艳的宏亮气势,超乎想象的小巧体积。Benefit体积小巧 低音震撼 Advantage 精巧的外壳下装载了众多技术,展现出扬声器超乎想象的的低音效能,让人深深的沉醉在饱满的动人音色中。 Evidence X先生经常会带着家中的小朋友到户外和同事们野餐,因为有小孩子每次外出都需要随身带很多东西。聚会时大家喜欢拿出手机播放孩子们喜欢的音乐增加气氛,偶尔路过门店体验到我们的产品,十分满意。不仅可以满足了他外出携带需要,还提供了完美的音质 360°音效 Feature 可以向四周发出均匀的,无死角的声音。实现零死角的环绕音效。 Benefit随意摆放,一样可以体验到全方位的声音。 Advantage 一个向下发声的全音域单元配合BOSE专利的声波导向器,营造出全方位,无死角的震撼 Evidence X女士三口之家,每天晚上喜欢在客厅给孩子放放音乐,孩子太小总是跑来跑去,之前的音响固定的放在一个位置声音太大影响邻居,声音太小孩子跑来跑去还听不见。选择了我们产品后放在家里中间的位置不管孩子 精致设计 Feature 一体成型的采用高品质阳极氧化铝金属材质配合全新的无缝连接一体成型工艺。 Benefit使产品更为高雅,耐用。 Advantage 精密的设计,一体成型的阳极氧化铝材质,可以提供全方位的音效,不留一丝缝隙,外 Evidence X小姐喜欢游泳,喜欢做SPA ,喜欢泡温泉,更喜欢听音乐。自从购买了产品,她可以随意带着音响到她喜欢的地方,再也没有任何的顾虑。无论什么环境,我们的产品都可以

grlib说明文档中文版

5GRLIB design concept 5.1introduction GRLIB是一个可重用IP Core的集合,并分成了多个VHDL库。每一个库提供了特定厂商的元件或者一系列共享的功能或接口。在GRLIB设计中使用的数据结构和元件声明都是通过库指定的VHDL包来输出的。 GRLIB是基于AMBA AHB和APB片上总线的,并把该总线用作标准的互联接口。AHB/APB总线的实现是与AMBA-2.0相兼容的,并附加了额外的“sideband”(边带)信号。这些边带信号的有三个用途:automatic address decoding,interrupt steering和device identification(a.k.a plug&play support)。根据AHB/APB 信号的功能,GRLIB的库把这些信号以VHDL records的形式组合在一起。GRLIB AMBA包的源文件在lib/grlib/amba/下。 所有的GRLIB core都使用同样的data structures来声明AMBA接口,这样相互之间的连接就很容易了。GRLIB库还包含了一个AHB bus controller和一个AHB/APB bridge,借助这两个模块,可以很快组装成一个全功能的AHB/APB的系统。 下面的部分将描述AMBA总线是怎么实现的以及怎样用GRLIB来建一个SOC设计。 5.2AMAB AHB on-chip bus 5.2.1General(概述) AMBA Advanced High-performance Bus(AHB)是一个multi-master的总线,可以以high data rate and/or variable latency的形式来互连各单元。图5就是一个概念图。图中连在总线上的单元分为masters(主)和slaves(客),并都受一个全局的总线仲裁器(global bus arbiter)控制。 由于AHB总线是复用的(而不是三态的),更正确的总线与单元互连示图可以参考图6。每一个master驱

python-ctypes模块中文帮助文档

内容: .加载动态链接库 .从已加载的dll中引用函数 .调用函数1 .基本的数据类型 .调用函数2 .用自己的数据类型调用函数 .确认需要的参数类型(函数原型) .返回值 .传递指针 .结构和联合 .结构或联合的对齐方式和字节的顺序 .结构和联合中的位 .数组 .指针 .类型转换 .未完成的类型 .回调函数 .访问dlls导出的值 .可变长度的数据类型 .bugs 将要做的和没有做的事情 注意:本文中的代码例子使用doctest确保他们能够实际工作。一些代码例子在linux和windows以及苹果机上执行有一定的差别 注意:一些代码引用了ctypes的c_int类型。它是c_long在32位机子上的别名,你不应该变得迷惑,如果你期望 的是c_int类型,实事上打印的是c_long,它们实事上是相同的类型。 加载动态链接库 ctypes加载动态链接库,导出cdll和在windows上同样也导出windll和oledll对象。 加载动态链接库后,你可以像使用对象的属性一样使用它们。cdll加载使用标准的cdecl调用约定的链接库, 而windll库使用stdcall调用约定,oledll也使用stdcall调用约定,同时确保函数返回一个windows HRESULT错误代码。这错误 代码自动的升为WindowsError Python exceptions,当这些函数调用失败时。 这有一些windows例子,msvcrt是微软的c标准库,包含大部分的标准c函数,同时使用cdecl调用约定。 注:cdecl和stdcall的区别请见https://www.360docs.net/doc/c61812102.html,/log-20.html >>> from ctypes import * >>> print windll.kernel32 # doctest: +WINDOWS

TI StellarisWare图形库使用指南

TI StellarisWare图形库使用指南 [V1.0] [作者: Richard Ma] [Email: mxschina@https://www.360docs.net/doc/c61812102.html,] 1.前言 (1) 2.基础知识 (2) 2.1.显示驱动层 (Display Driver Layer) (2) 2.1.1.基本功能 (2) 2.1.2.图形输出驱动 (3) 2.1.3.用户输入驱动 (3) 2.2.基本图形层 (Graphics Primitives Layer) (4) 2.3.控件层 (Widget Layer) (4) 3.StellarisWare图形库基本使用 (6) 3.1.开发环境及StellarisWare安装 (6) 3.2.图形库添加与编译 (显示部分) (7) 3.2.1. 建立新项目 (7) 3.2.2. 添加图形库 (8) 3.2.3. 驱动程序初始化 (10) 3.3.图形库添加与编译 (触摸部分) (10) 4.基本图形绘制 (12) 4.1. 绘图上下文 (tContext) (12) 4.2. 颜色设置 (12) 4.3. 绘制基本图形 (13) 4.4. 绘制文字 (14) 4.5. 绘制图片 (16) 4.5.1. 图片表示方式 (16)

TI StellarisWare图形库使用指南 Richard Ma 4.5.2. 图片生成工具 (17) 5.控件使用 (19) 5.1. 控件使用示例代码 (19) 5.2. 控件使用步骤说明 (23) 5.2.1. 配置显示及用户输入 (24) 5.2.2. 创建控件及属性配置 (24) 1)控件名 (25) 2)控件管理–控件树 (25) 3)显示设备对象(pDisplay) (27) 4)位置和尺寸 (27) 5)控件风格(Style)及其它属性 (27) 6)事件响应 (27) 5.2.3.控件添加绘制及管理 (28) 6.各控件功能及属性 (29) 6.1. 画布控件(Canvas) (29) 6.2. 选择/多选框控件(Checkbox) (33) 6.3. 容器控件(Container) (36) 6.4. 图形按钮控件(Image Button) (39) 6.5. 列表框控件(ListBox) (43) 6.6. 按钮控件(Push Button) (46) 6.7. 单选按钮控件(Radio Button) (51) 6.8. 拖滑/进度条控件 (Slider) (54)

CAD和TSSD快捷键(含探索者中文键名)

AutoCAD 简化命令 3A, *3DARRAY 3DO, *3DORBIT 3F, *3DFACE 3P, *3DPOLY A, *ARRAY ,阵列ADC, *ADCENTER AD, *ID AE, *AREA AL, *ALIGN AP, *APERTURE ATP, *ATTDISP AT, *DDATTE -AT, *ATTEDIT ATT, *DDATTDEF -ATT, *ATTDEF AV, *DSVIEWER B, *BREAK H, *BHATCH BL, *BMAKE -BL, *BLOCK BO, *BOUNDARY -BO, *-BOUNDARY CO, *COPY CC, *CHAMFER CH, *DDCHPROP -CH, *CHANGE DDC, *DDCOLOR C, *CIRCLE D, *DIM DD, *DDEDIT DDV, *DDVPOINT DI, *DIST DIV, *DIVIDE DO, *DONUT DST, *DIMSTYLE DT, *DTEXT DV, *DVIEW DX, *DDIM DXI, *DXFIN DXO, *DXFOUT E, *ERASE EL, *ELEV ELL, *ELLIPSE EN, *END EP, *EXPLODE EX, *EXTEND F, *FILLET FF, *FILL FI, *FILTER G, *GROUP GR, *DDGRIPS -GR, *GRID HI, *HIDE HE, *HATCHEDIT HT, *HATCH I, *DDINSERT -I, *INSERT IM, *IMAGE -IM, *-IMAGE L, *LINE LA, *LAYER -LA, *-LAYER LE, *LEADER LEN, *LENGTHEN LI, *LIST LS, *LTSCALE LT, *LINETYPE -LT, *-LINETYPE LTS, *LTSCALE M, *MOVE MA, *MATCHPROP ME, *MEASURE MI, *MIRROR ML, *MLINE MO, *DDMODIFY MN, *MENU MS, *MSPACE MT, *MTEXT -MT, *-MTEXT MV, *MVIEW N, *NEW O, *OFFSET OP, *OPEN OS, *OSNAP

Slic3r 使用教程

Slic3r 使用教程 Slic3r 是一款用于将STL 文件转化成G-code 的开源软件,他具有易学易用、快速生成、可以灵活配置参数等诸多优点。 步骤1: 首先是Slic3r 的第一个操作界面:Plater,这个界面的功能是将建模软件导出的STL 文件导入Slic3r,并且可以经过一些简单的操作进行平面的旋转,也可以通过选择Rotate,设置模型打印角度;后面的选项主要是模型等比放大缩小以及拆分。 界面下面的一些选项主要是对模型摆放进行的操作,以及最常用的导出选项;print setting、filament、printer 选项主要是选择已经保存好的用户自定义的设置。 如果用户个人有多台不同型号的打印机,Slic3r 可以很方便地为这些打印机分别分配不同的设置,在生成G-code 时只需要选择已经保存好的设置就可以了。 Rainbow Rainbow Rainbow Rainbow Rainbow Rainbow Rainbow

步骤2: 在Slic3r 中,Print Setting 设置最为重要,当然可以设置的项目也特别的多,这也是最为体现Slic3r 灵活性的地方,虽然这些设置稍微有些复杂和繁琐,但这些参数的设置决定着打印机的运行效率。参数一旦设置好,对以后的工作来说就很方便了,以后只需要用户根据不同尺寸要求以及精细度要求,更改一些参数就可以。 首先是左边的第一个选项Layers and perimeters,在界面右边会显示相应的设置框,Layer height 和下面的First layer height 分别是指打印层高和第一层打印层高。由于打印机升降平台首层打印可能决定着底层表面质量,同时slic3r 内部限定首层高度以及上层的层高,必须低于喷头直径。这里建议如果需要模型外表面精度高些的,可以设置0.1mm,如果需要较快的打印速度,通过增加层高(比如0.2mm)就可以实现,这样打印出来的模型用时会大大减少,但是打印表面的精细度也会随之下降。 这里介绍一下Slic3r 的模型构成:首先最重要的是perimeter,这一层的意思是模型外表面,也就是用户直接能见到的层;然后是infill 层,这一层就是藏在模型内部的填充,一般情况下完成模型之后是看不见内部填充的;最后就是solid infill 层,这一层其实在一些其他的开源软件里面是直接与infill 层混在一起的,但是这一层单独设置的实现,对于模型打印有很好的效果。这一层的意义是介于infill 层与底层(或者顶层)之间的过渡层,它的填充密度既没有infill 层低,又没有底层和顶层的填充密度高,但是它的存在很好地保护了顶层的表面效果。在一些规则的模型顶层由于内部填充率比较低,当开始打印顶层的时候由于热胀冷缩,会有凹凸不平的现象。但是有了solid infill 的出现,我们既可以在模型内部设置很低的填充率,也可以实现令人满意呢的顶层打印效果。 在Vertical shells 里面的选项我们可以设置最小perimeters,也就是模型外表面的层数,在其他的软件里面可能比较熟悉的wall 这个参数,其实就是一个意思,只不过这里更加直观的告诉我们打印几层;然后下面的是复选项随机开始起点,以及当需要时生成额外的外表层。 Rainbow Rainbow Rainbow Rainbow Rainbow Rainbow Rainbow

嵌入式实验四实验报告文档

2020 嵌入式实验四实验报告文档Contract Template

嵌入式实验四实验报告文档 前言语料:温馨提醒,报告一般是指适用于下级向上级机关汇报工作,反映情况,答复上级机关的询问。按性质的不同,报告可划分为:综合报告和专题报告;按行文的直接目的不同,可将报告划分为:呈报性报告和呈转性报告。体会指的是接触一件事、一篇文章、或者其他什么东西之后,对你接触的事物产生的一些内心的想法和自己的理解 本文内容如下:【下载该文档后使用Word打开】 3.4基于UART的加法器的实现 一、实验目的 学习lm3s9b92的串口通信 学习应用超级终端调试串口 学会应用UART有关的库函数 二、实验设备 计算机、LM3S9B92开发板、USBA型公口转MiniB型5Pin数据线1条 三、实验原理 Stellaris系列ARM的UART具有完全可编程、16C550型串行接口的特性。Stellaris系列ARM含有2至3个UART模块。 该指导书在第一部分的 1.2节中说明,该开发板使用了FT2232芯片实现usb到串口的转换。并设置在芯片的B通道上使用虚拟COM接口(VCP)。虚拟串行端口(VCP)与LM3s9b92上的

UART0模块连接。在安装FTDI驱动程序后,windows会分配一个串行通信端口号到VCP通道,并允许windows应用程序(如超级终端)通过USB与LM3s9b92上的UART0进行通信。利用Windows超级终端调试UART的方法 对于该开发板,使用的是USB虚拟的COM端口,无须使用DB9连接器。因此下面讲解一下如何利用Windows附带的超级终端来调试UART接口。 Windows附件里的“超级终端”是个非常实用的应用程序,可以用来调试电脑的COM串行口,也能很好地支持通过USB虚拟的COM口。以下是超级终端配置COM端口的过程: 四、实验要求 采用超级终端作为外部输入与输出的接口,实现多位数的相加。即通过UART串口分别输入需要相加的多位数A与B,最后把A和B两个多位数相加的过程和结果,回显给用户。具体实现方法:既可以采用轮询的方式也可以应用中断。 五、实验步骤 1、连接实验设备:使用USBminiB线缆的mini端与开发板ICDI口相连,另一端接到PC机的USB插口上。 2、根据实验要求编写、调试、运行程序。并要求在代码上附上相关的注释。 #include #include"inc/hw_ints.h" #include"inc/hw_memmap.h"

【打印虎】Repetier-Server基础图解教程

【打印虎】Repetier-Server基础图解教程 玩3D打印机的朋友,安装了最近的Repetier-Host 1.5.6之后(打印虎本地下载,百度云下载),会发现Repetier-Host会缺省附带安装Repetier-Server 0.60.4,这个软件给Repetier-Host增加了(私有)云功能。这一功能,允许用户把3D打印机部署在远程(也许是另一件屋子,也许是另一个城市),通过Repetier-Server提供的服务,连接、管理、操作3D打印机。相比于直接使用Repetier-Host加USB连接3D打印机的方式,这样做有几个明显的好处:对于个人使用者来说,把3D打印机放在另一间屋子,可以减少3D打印过程中产生的塑料味道的吸入,有利于健康;对于拥有多台3D打印机的企业来说,可以更加有效的管理这些3D打印机,把他们组成一个3D打印机农场;对于出售3D 打印服务的商家来说,可以让服务的用户直接提交3D打印任务,观察任务执行的进度,让3D打印服务更加可视透明,提高用户的满意程度。 这么看,是不是感觉Repetier-Server是一个特别有用的工具?如果你对这个新工具感兴趣,可以读这篇教程,和我一起了解一下它。可能你眼下还用不上其中的一些高级功能,但也说不准以后就会发现合适的使用场景。 既然是一个远程服务端工具,Repetier-Server自然会提供远程访问的方法。目前最主要的使用方式有两种,一种是使用浏览器,直接访问Repetier-Server提供的Web服务,这种方式使用便捷,不论是电脑还是PAD还是手机都可以使用,但缺少一些前段处理STL 3D 模型方面的功能。另一种方式是和Repetier-Host客户端配合使用,这样可以利用Repetier-Host弥补Repetier-Server 3D模型处理方面的不足,但要比Web方式麻烦一些。这两种使用方式,我们在下文都会进行介绍,大家对这两种远程访问方法所能提供的功能有所了解之后,选择自己合适的方式即可。 操作系统方面,这篇教程以Windows 7为例进行介绍。如果你使用Mac或者Linux,也没有关系,它们的功能完全一样,只是界面略有不同。如果你使用其他版本的Windows,文章中提到的文件路径可能会有变化,只要对应修改为正确的文件路径即可。 第一节,Repetier-Server的安装 一般情况下,如果你安装或者升级到Repetier-Host 1.5以上版本,那么在你安装或者升级Repetier-Host过程中,软件将自动为你安装Repetier-Server,所以你就可以跳过安装这部分的介绍了。但有些朋友可能在安装过程中没有自动安装,或者在服务器电脑上没有安装Repetier-Host而只想安装Repetier-Server的朋友,那么就可以参考这一节的内容进行安装了。 1.点击网站https://www.360docs.net/doc/c61812102.html,,进入下载页面,点击下载相应适合自己 系统的版本,包括了Windows,Mac、Linux。如果只需要Windows版本,也可 在这里直接下载(打印虎本地下载,百度云下载)。 2.双击下载完成的安装文件进行安装,如下图,并点击下一步;

python-os模块中文帮助文档

注此模块中关于unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,其中很多不足之处请多多包涵。 这个模块提供了一个轻便的方法使用要依赖操作系统的功能。如何你只是想读或写文件,请使用open() ,如果你想操作文件路径,请使用os.path模块,如果你想在命令行中,读入所有文件的所有行,请使用 fileinput模块。使用tempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用shutil模块。 os.error 内建OSError exception的别名。 https://www.360docs.net/doc/c61812102.html, 导入依赖操作系统模块的名字。下面是目前被注册的名字:'posix', 'nt', 'mac', 'os2', 'ce', 'java', 'riscos'. 下面的function和data项是和当前的进程和用户有关 os.environ 一个mapping对象表示环境。例如,environ['HOME'] ,表示的你自己home文件夹的路径(某些平台支持,windows不支持) ,它与C中的getenv("HOME")一致。 这个mapping对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不 影响os.environ,除非直接修改os.environ. 注:putenv()不会直接改变os.environ,所以最好是修改os.environ 注:在一些平台上,包括FreeBSD和Mac OS X,修改environ会导致内存泄露。参考putenv()的系统文档。 如果没有提供putenv(),mapping的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。 如果这个平台支持unsetenv()函数,你可以删除mapping中的项目。当从os.environ使用pop()或clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。 os.chdir(path) os.fchdir(fd) os.getcwd() 这些函数在Files和Directories中。

slic配置

点击代码生成器界面configure按钮,会打开切片软件slic3r,一个开源而且切片效果不错的工具。下面介绍该软件的一些基本设置参数,了解这些,你基本上能自行根据模型和材料设置参数,打出跟模型相差不大,表面效果过得去的打印件了。 先看一下slic3r的界面: Slic3r的主要设置分为3个选项卡,分别是print settings(打印设置),filament settings(耗材设置),printer settings(打印机设置)。打开软件后,默认为printsettings。也是三个选项卡中参数最多,对打印质量影响最大的部分。 -print settings https://www.360docs.net/doc/c61812102.html,yers and perimeters(层高和轮廓) 把它放在第一位,也说明了该参数的重要性。 https://www.360docs.net/doc/c61812102.html,yer height(层高) 和first layer height(首层层高):层高很大程度上决定了打印精细度,一般需要比较好的质量将层高选择为0.1mm,如果不需要很高精度,可以将层高设置为0.2mm,也可以选取0.15mm的中间值。无特殊状况不建议层厚超过0.2mm,否则打印质量将很差。首层一般建议0.2,太薄可能与热床

接触不充分,导致翘边。如果还发生翘边现象,可尝试调整为0.3. b.Vertical shells(即垂直方向的外壳) Perimeters:轮廓线的数目,即垂直方向上外壳层数。这个决定了打印件的稳固性,一般需要比较受力的打印件,可加大外壳厚度,我一般设置为3。 Spiral vase:打印薄壁花瓶时,勾选此项才能切片出单层效果。 C.Horizon shell(顶端和底部的外壳) 一般建议top(顶部)和buttom(底部)的层数*层高不小于0.8mm,否则可能无法充分覆盖填充的空隙。 2.Infill(填充) a.Infill Fill density: 填充率。模型内部填充百分比,一般模型0.2即可,需要承力的零件可设置为0.5或以上,不建议1,并且1有时会造成切片失败。 Fill pattern :填充图案。建议选择honeycomb,蜂窝状填充。结构稳定,线条连贯。 Top/Buttom fill pattern:一般选择rectilinear,直线型填充。 关于以上两项也可以根据个人爱好进行选择,并观察效果,对打印质量影响很小。其他选项先保持默认。 3.Speed(打印速度)

【资料】Airpak中文帮助文档(1.7部分)

Airpak中文帮助文档(1.7部分) 此文翻译来自Airpak帮助文档1.7部分 通过1.7部分,你将使用Airpak 建立一个问题、解决一个问题以及输出结果。这是 对Airpak 特点的基础介绍。 如有疑问可参考Airpak帮助文档的相关部分

1.7 示例 在下面的示例中,你将使用Airpak建立一个问题、解决一个问题以及输出结果。这是对Airpak特点的基础介绍。使用指南中的例子将提供更完整的程序特点。 1.7.1 问题描述 图1.7.1显示的所要解决的问题。房间中包含了一个开放的进风口、一个排气口和一个恒定温度的墙。房间的长是4.57 m,宽是 2.74 m,高是2.74m。房间外测量值是0.92 m ×0.46 m,同时引入一个冷空气射入房间使得空气流动。排气口的尺寸是0.91 m×0.45 m。惯性的力量、浮力的力量以及湍流混合的相互作用对所提供的空气的渗透及路径有着重要的影响。 1.7.2 主要的过程 图1.7.1显示的问题是一个稳定通风的情形。边界温度以及速度是被定义的。示例中的步骤简要如下: z打开和定义一项工作 z调整默认房间大小 z对于一个房间生成一个进风口(opening)、排气口(vent)以及墙 z生成网格 z计算

z检查结果 1.7.3 开始一个新工作 启动Airpak(1.5节)。图1.7.2.显示的是【Open job】面板。 在【Select the job to open】文本显示框中路径的最后将/sample写上。点击【Accept】打开一个新工作。Airpak将生成一个10 m×3 m×10 m默认房间,同时在图形窗口显示房间。 你可以使用鼠标左键围绕一个中心点旋转房间,或者使用鼠标中间键你可以将房间转移到屏幕的任意一点上。使用右键放大或缩小房间。为了将房间回复的默认方位,点击【Options】菜单下【Orient】,在下拉菜单中选择【Home】。 1.7.4 定义工作 通过定义房间的种类和设置环境温度来开始工作。这些参数在【Problem setup】面板中具体指明了。在【File】菜单中选择【Problem】可以打开【Problem setup】面板(如图1.7.3)。

slirc 3r教程

Slic3r 使用教程 Slic3r使用教程 Slic3r是一款用于将STL文件转化成G-code文件的开源软件,他具有易学易用、快速生成、可灵活配置参数设置等优点。 一、首次切片配置向导 1、欢迎界面 2、选择固件类型

Yakamoz采用马林固件,选择 RepRap 3、打印床大小 XY 平面大小,设置 XY 轴的运动最大值。务必设置为从左下角挤出喷嘴休息时的起始位置,到每个方向上的喷嘴可行驶的最大距离。

4、喷嘴直径 根据实际的喷嘴直径设置,Yakamoz采用 4.0mm 直径的喷嘴。 5、耗材直径 常见的耗材分为1.75mm 和 3.0mm,根据耗材进行设置,强烈建议实际测量后填写,比如 3.0 的耗材有些 2.89mm、2.88mm。

6、加热温度 挤出头加热的温度,一般为耗材熔点,请参照具体耗材进行设置,ABS 在 215-250°C,PLA在 160-230°C(耗材不同,略有差异)。 具体范围您需要向耗材供应商询问,国内的耗材真的千奇百怪,即使是同一家买的耗材也要询问是否更换批次。这个参数还是需要开始打印的时候进一步微调。

7、热床温度 假如3D 打印机配备恒温床,需要设置这个参数。参考经验值:PLA 60°C,没有温床设置为。 8、校准

1.框架稳定正确摆放。 2.同步皮带是紧绷的。 3.加热床与挤出机喷嘴的运动面都是水平的。 4.送丝线卷轴自由不会给挤出机造成太大的阻力。 5.确认步进电机没有松动,安装位置水平。 6.固件设置是正确的,包括轴运动速度和加速度,温度控制和检测正常,限位正常,电机旋转方向正确。 7.挤出机校准。控制挤出10mm 对应实际送丝测量得到的也是 10mm。这一点务必要保证,假如送丝过长会导致气泡或模型溢出,过少会导致夹层附着力差。 二、软件界面介绍及其使用 1、Slic3r界面介绍 首先是Slic3r的第一个操作界面:Plater,这个界面的功能是将建模软件导出的STL文件导入Slic3r,并且可以经过一些简单的操作进行平面的旋转,也可以通过选择Rotate,设置模型打印角度;后面的选项主要是模型等比放大、缩小以及拆分。 界面下面的一些选项主要是对模型摆放进行的操作,以及最常用的导出选项;Print Setting、filament、printer选项主要是选择已经保存好的用户自定义的设置。 如果用户有多台不同型号的打印机,Slic3r可以很方便的为这些打印机分别分配不同的设置,在生成G-code时只需要选择已经保存好的设置就可以了。

pyevolve中文帮助文档

Pyevolve的用户手册中文版 1.1.6基本概念 Raw score:表示由适应度函数返回的还未进行比例换算的适应值。 Fitness score :对Raw score进行比例换算后的适应值,如果你使用线性的比例换算(Scaling.LinearScaling()),fitness score将会使用线性方法进行换算,fitness score代表个体与种群的相关程度。 Sample genome : 是所有genome进行复制的基础 1.2.3对pyevolve进行扩展 对pyevolve进行扩展首先要查看GenomeBase.GenomeBase类的源码。 扩展的基本步骤 1)创建染色体类 2)创建染色体的初始化函数 3)创建遗传算子:选择算子,交叉算子,和变异算子等。 1.3模块 1.3.2基本模块 a) Consts :常量模块 Pyevolve 提供了所有的默认遗传算子,这是为了帮助用户方便的使用API,在常量模块中,你可以找到这些默认的设置,最好的情况是查看常量模块,但是不改变常量模块中的内容。 b)Util :公用模块 公用模块中提供了一些公用的函数,比如列表项的交换,随机功能等。 list2DSwapElement(lst, indexa, indexb):交换矩阵中的元素项。 listSwapElement(lst, indexa, indexb):交换列表中的元素项。 c)FunctionSlot :函数分片模块 Pyevolve中广泛使用函数分片的概念;这个想法是很简单的,每个遗传操作或者说是任何遗传操作能够被分配到一个片,按照这种想法,我们能够添加不止一种的遗传操作,比如说同时进行两种或者更多的变异操作,或者两种或更多的计算操作等,函数分片模块是以FunctionSlot.FunctionSlot类来实现的。 例子: Def fit_fun(genome): …. Def fit_fun2(genome): …. Genome.evaluator.set(fit_fun) Genome.evaluator.add(fit_fun2) Print Genome.evaluator #the result is “slot [evaluator] (count:2)” Print Genome.evaluator[0] # the result is “function fit_fun at <....>” Print Genome.evaluator[1] # the result is “function fit_fun2 at <...>”

中文WebLogic81配置过程

WebLogic81中文配置 编写人:黄承端保密程度:完成公开 新安装Weblogic请直接运行setup.exe,可参考《(03)安装以及配置weblogic截图》目录中的图片。如果是已经有了Weblogic又不想再安装,可以在已有的Weblogic中创建一个新的域,方法在本文档的最后面。 (一)新建WebLogic配置 安装好WebLogic81后,从开始菜单里打开Configuration Wizard。如下图所示: 选定: 点击下一步按钮 选定: 点击下一步按钮 选定快速,然后根基具体情况填写参数。 请记住过程中设置的Weblogic管理员用户名和密码,以后经常需要用到,界面如下图。

(二)配备启动脚本(startweblogic.cmd) 注意:下面的“f:\”的为盘符,配置是请根据实际修改。 下面的mydomain表示weblogic的域名,默认是这个,如果在配置时修改了域名请注意做对应修改。Weblogic服务器支持多个域。 1、准备工作 拷贝安装程序中的,lib目录到f:\bea\user_projects\domains\mydomain\目录下;(如果没有就找其他同事索取) 拷贝Key.dll、mcubebase.dll两个文件到F:\bea\user_projects\domains\mydomain 目录下;(如果没有就找其他同事索取) 拷贝EnviromentVarible.xml到F:\bea\user_projects\domains\mydomain 目录下,并且修改里面的配置; 要修改的内容,如下表红色部分: 2、开始配置 注意:开始配置前请另存一份F:\bea\user_projects\domains\mydomain目录下的config.xml文件。 在“..\user_projects\domains\mydomain”目录找到并修改startweblogic.cmd文件如下:(1)修改: (2)在set PRODUCTION_MODE=true和set JA V A_VENDOR=Sun中间加入: set OALIBPA TH=f:\bea\user_projects\lib set OALIBMUSTFIRST=%OALIBPATH%\classes12.jar;%OALIBPATH%\rowset.jar;%OALIBPATH%\rd bmsrealm8x.jar;%OALIBPA TH%\FlowGate.jar

Slic3r切片中文使用手册

Slic3r 用户手册 起于尘埃译 2014-01-25

目录 Slic3r 用户手册 (1) 2014-01-25 (1) 首次切片 (3) 配置向导 (3) 校准 (7) 重要的第一层 (8) 简单模式 (9) 模型 (10) 模型格式 (10) 模型来源 (11) Meshlab (15) Plater介绍 (15) Netfabb Studio (17) FreeCAD (18) 首次打印 (19) 专家模式 (20) 速度 (20) 填充模式和密度 (22) 填充优化 (27) 应对溢出Fighting ooze (28) 外圈Skirt (29) 冷却 (30) 风扇 (30) 减速 (31) 配置 (31) 支持材料 (32) 多个挤出机 (34) ●配置挤出机 (34) ●分配送丝 (35) ●为单一材料对象分配挤出机 (35) ●改变配置工具 (36) ●打印复合材料对象 (36) ●生成复合材料AMF文件 (36) 挤出线宽 (37) 可变层高 (37) 配置 (40) 导入导出配置 (40) 配置文件 (40) 高级专题 (41) SVG输出 (41) 命令行使用 (43) 后期处理脚本 (44)

故障发现及解决 (44) Z轴摇晃 (44) Slic3r的帮助 (45) 首次切片 配置向导 欢迎界面

选择固件类型 JennyPrinter采用马林固件,选择RepRap 打印床大小 XY平面大小,设置XY轴的运动最大值。务必设置为从左下角挤出喷嘴休息时的起始位置,到每个方向上的喷嘴可行驶的最大距离。

喷嘴直径 根据实际的喷嘴直径设置,JennyPrinterV1.1采用0.4mm直径的喷嘴。 耗材直径 常见的耗材分为1.75mm和3.0mm,根据耗材进行设置,强烈建议实际测量后填写,比如3.0的耗材有些微2.89mm,2.88mm。

相关文档
最新文档