首页编程tomcat5.5下载(tomcat安装教程)

tomcat5.5下载(tomcat安装教程)

编程之家 2023-11-02 110次浏览

其实tomcat5.5下载的问题并不复杂,但是又很多的朋友都不太了解tomcat安装教程,因此呢,今天小编就来为大家分享tomcat5.5下载的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

tomcat5.5下载(tomcat安装教程)

到底如何才能安装Tomcat

用来进行web开发的工具有很多,Tomcat是其中一个开源的且免费的java Web服务器,是Apache软件基金会的项目。电脑上安装配置Tomcat的方法和java有些相同,不过首先需要配置好java的环境才行。

工具:Tomcat7.0、eclipse

java环境的配置:

1.java环境的配置应该都学过吧,这里简单的讲一下。

下载安装java JDK,注意安装的路径,我们需要进行环境变量的配置。

2.安装完成以后,配置环境变量

tomcat5.5下载(tomcat安装教程)

环境变量的配置这里就以win7为例:右击计算机——属性——高级系统设置。

3.点击下面的环境变量,进入后在系统变量一栏点击新建,然后输入如下:

名称:JAVA_HOME

变量值:刚刚安装的路径

4.在上面的一栏中点击新建,内容如下:

名称:CLASS_PATH

tomcat5.5下载(tomcat安装教程)

变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

一定要注意所有符号都是英文状态的。

5.在系统环境变量中有一个path的环境变量,选中后选择编辑,将JAVA_HOME添加进去即可,如图:在最后加上;%JAVA_HOME%\bin;

6.测试java环境是否配置成功

按下win+R键,输入cmd调出命令符控制窗口。输入:java-version后查看是否显示版本即可。

安装配置Tomcat

1.下载Tomcat文件,文件是一个exe的安装文件,下载后直接安装即可。

下载地址在百度输入Tomcat进入官网即可找到下载文件。安装文件没有什么技巧,一直点击下一步即可。安装时注意安装目录,因为一会要配置和java一样的环境变量。

同样打开环境变量的配置窗口,在系统环境变量一栏点击新建。输入内容如下:

变量名:CATALINA_HOME

变量值:刚刚安装的路径

2.测试安装配置是否成功

找到安装路径下的bin文件夹,找到里面的执行文件,运行,然后执行下面的操作。

打开浏览器,输入http://localhost:8080.如果出现下面的内容说明成功了。

Eclipse的配置:

到Eclipse官网下载最新版的Eclipse,解压后即可,不需要安装。

运行Eclipse程序文件,打开Eclipse工作界面,选择菜单栏中的window——preferences。

选择左侧的 server——runtime environment——在弹出的窗口中选择 add——然后选择你的Tomcat的版本即可。

选择tomcat的路径,和java的版本即可完成配置工作。

我的电脑怎么装tomcat

1.双击安装程序图标,开始安装

2.弹出一个欢迎安装的对话框,单击【Next】按钮。

3.进入【License Agreement】对话框,单击【I Agree】按钮,签署许可协议。

4.选择安装类型。弹出类型选择对话框,在【Select the type of install】下拉列表框中选择需要的安装方式。这里一般选择默认的“normal”方式。

5.选择安装路径。随后弹出的对话框【Choose Install Location】中有一【Destination Folder】文本框,在这里设置Tomcat的安装路径,设为D:Tomcat 6.0,然后单击【Next】按钮。

6.填写配置信息。在【Configuration】对话框里设置下列信息,然后单击【Next】。Tomcat的Web服务端口号,这里取默认值为8080,但要保证8080端口没有被其他Web服务器占用。超级管理员的用户名,取默认值“admin”。超级管理员的密码,默认值为空,仍然取默认值。

7.配置虚拟机安装位置。根据前面安装JAVA时的信息,选择虚拟机的安装位置,单击【Install】按钮。

8.完成安装,启动Tomcat。

在tomcat中配置CAS

CAS原理和协议

从结构上看,CAS包含两个部分:CASServer和CASClient。CASServer需要独立部署,主要负责对用户的认证工作;CASClient负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CASServer。图1是CAS最基本的协议过程:

图1.CAS基础协议

CASClient与受保护的客户端应用部署在一起,以Filter方式保护受保护的资源。对于访问受保护资源的每个Web请求,CASClient会分析该请求的Http请求中是否包含ServiceTicket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的CASServer登录地址,并传递Service(也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第3步中输入认证信息,如果登录成功,CASServer随机产生一个相当长度、唯一、不可伪造的ServiceTicket,并缓存以待将来验证,之后系统自动重定向到Service所在地址,并为客户端浏览器设置一个TicketGrantedCookie(TGC),CASClient在拿到Service和新产生的Ticket过后,在第5,6步中与CASServer进行身份合适,以确保ServiceTicket的合法性。

在该协议中,所有与CAS的交互均采用SSL协议,确保,ST和TGC的安全性。协议工作过程中会有2次重定向的过程,但是CASClient与CASServer之间进行Ticket验证的过程对于用户是透明的。

另外,CAS协议中还提供了Proxy(代理)模式,以适应更加高级、复杂的应用场景,具体介绍可以参考CAS官方网站上的相关文档。

准备工作

本文中的例子以tomcat5.5为例进行讲解,下载地址:

http://tomcat.apache.org/download-55.cgi 

到CAS官方网站下载CASServer和Client,地址分别为:

http://www.ja-sig.org/downloads/cas/cas-server-3.1.1-release.zip 

http://www.ja-sig.org/downloads/cas-clients/cas-client-java-2.1.1.zip 

部署CASServer

CASServer是一套基于Java实现的服务,该服务以一个JavaWebApplication单独部署在与servlet2.3兼容的Web服务器上,另外,由于Client与CASServer之间的交互采用Https协议,因此部署CASServer的服务器还需要支持SSL协议。当SSL配置成功过后,像普通Web应用一样将CASServer部署在服务器上就能正常运行了,不过,在真正使用之前,还需要扩展验证用户的接口。

在Tomcat上部署一个完整的CASServer主要按照以下几个步骤:

配置Tomcat使用Https协议

如果希望Tomcat支持Https,主要的工作是配置SSL协议,其配置过程和配置方法可以参考Tomcat的相关文档。不过在生成证书的过程中,会有需要用到主机名的地方,CAS建议不要使用IP地址,而要使用机器名或域名。

部署CASServer

CASServer是一个Web应用包,将前面下载的cas-server-3.1.1-release.zip解开,把其中的cas-server-webapp-3.1.1.war拷贝到tomcat的webapps目录,并更名为cas.war。由于前面已配置好tomcat的https协议,可以重新启动tomcat,然后访问:https://localhost:8443/cas,如果能出现正常的CAS登录页面,则说明CASServer已经部署成功。

虽然CASServer已经部署成功,但这只是一个缺省的实现,在实际使用的时候,还需要根据实际概况做扩展和定制,最主要的是扩展认证(Authentication)接口和CASServer的界面。

扩展认证接口

CASServer负责完成对用户的认证工作,它会处理登录时的用户凭证(Credentials)信息,用户名/密码对是最常见的凭证信息。CASServer可能需要到数据库检索一条用户帐号信息,也可能在XML文件中检索用户名/密码,还可能通过LDAPServer获取等,在这种情况下,CAS提供了一种灵活但统一的接口和实现分离的方式,实际使用中CAS采用哪种方式认证是与CAS的基本协议分离开的,用户可以根据认证的接口去定制和扩展。

扩展AuthenticationHandler

CAS提供扩展认证的核心是AuthenticationHandler接口,该接口定义如清单1下:

清单1.AuthenticationHandler定义

publicinterfaceAuthenticationHandler{

/**

*Methodtodetermineifthecredentialssuppliedarevalid.

*@paramcredentialsThecredentialstovalidate.

*@returntrueifvalid,returnfalseotherwise.

*@throwsAuthenticationExceptionAnAuthenticationExceptioncancontain

*detailsaboutwhyaparticularauthenticationrequestfailed.

*/

booleanauthenticate(Credentialscredentials)throwsAuthenticationException;

/**

*Methodtocheckifthehandlerknowshowtohandlethecredentials

*provided.ItmaybeasimplecheckoftheCredentialsclassorsomething

*morecomplicatedsuchasscanningtheinformationcontainedinthe

*Credentialsobject.

*@paramcredentialsThecredentialstocheck.

*@returntrueifthehandlersupportstheCredentials,falseothewrise.

*/

booleansupports(Credentialscredentials);

}

该接口定义了2个需要实现的方法,supports()方法用于检查所给的包含认证信息的Credentials是否受当前AuthenticationHandler支持;而authenticate()方法则担当验证认证信息的任务,这也是需要扩展的主要方法,根据情况与存储合法认证信息的介质进行交互,返回boolean类型的值,true表示验证通过,false表示验证失败。

CAS3中还提供了对AuthenticationHandler接口的一些抽象实现,比如,可能需要在执行authenticate()方法前后执行某些其他操作,那么可以让自己的认证类扩展自清单2中的抽象类:

清单2.AbstractPreAndPostProcessingAuthenticationHandler定义

publicabstractclassAbstractPreAndPostProcessingAuthenticationHandler

implementsAuthenticateHandler{

protectedLoglog=LogFactory.getLog(this.getClass());

protectedbooleanpreAuthenticate(finalCredentialscredentials){

returntrue;

}

protectedbooleanpostAuthenticate(finalCredentialscredentials,

finalbooleanauthenticated){

returnauthenticated;

}

publicfinalbooleanauthenticate(finalCredentialscredentials)

throwsAuthenticationException{

if(!preAuthenticate(credentials)){

returnfalse;

}

finalbooleanauthenticated=doAuthentication(credentials);

returnpostAuthenticate(credentials,authenticated);

}

protectedabstractbooleandoAuthentication(finalCredentialscredentials)

throwsAuthenticationException;

}

AbstractPreAndPostProcessingAuthenticationHandler类新定义了preAuthenticate()方法和postAuthenticate()方法,而实际的认证工作交由doAuthentication()方法来执行。因此,如果需要在认证前后执行一些额外的操作,可以分别扩展preAuthenticate()和ppstAuthenticate()方法,而doAuthentication()取代authenticate()成为了子类必须要实现的方法。

由于实际运用中,最常用的是用户名和密码方式的认证,CAS3提供了针对该方式的实现,如清单3所示:

清单3.AbstractUsernamePasswordAuthenticationHandler定义

publicabstractclassAbstractUsernamePasswordAuthenticationHandlerextends

AbstractPreAndPostProcessingAuthenticationHandler{

...

protectedfinalbooleandoAuthentication(finalCredentialscredentials)

throwsAuthenticationException{

returnauthenticateUsernamePasswordInternal((UsernamePasswordCredentials)credentials);

}

protectedabstractbooleanauthenticateUsernamePasswordInternal(

finalUsernamePasswordCredentialscredentials)throwsAuthenticationException;

protectedfinalPasswordEncodergetPasswordEncoder(){

returnthis.passwordEncoder;

}

publicfinalvoidsetPasswordEncoder(finalPasswordEncoderpasswordEncoder){

this.passwordEncoder=passwordEncoder;

}

...

}

基于用户名密码的认证方式可直接扩展自AbstractUsernamePasswordAuthenticationHandler,验证用户名密码的具体操作通过实现authenticateUsernamePasswordInternal()方法达到,另外,通常情况下密码会是加密过的,setPasswordEncoder()方法就是用于指定适当的加密器。

从以上清单中可以看到,doAuthentication()方法的参数是Credentials类型,这是包含用户认证信息的一个接口,对于用户名密码类型的认证信息,可以直接使用UsernamePasswordCredentials,如果需要扩展其他类型的认证信息,需要实现Credentials接口,并且实现相应的CredentialsToPrincipalResolver接口,其具体方法可以借鉴UsernamePasswordCredentials和UsernamePasswordCredentialsToPrincipalResolver。

JDBC认证方法

用户的认证信息通常保存在数据库中,因此本文就选用这种情况来介绍。将前面下载的cas-server-3.1.1-release.zip包解开后,在modules目录下可以找到包cas-server-support-jdbc-3.1.1.jar,其提供了通过JDBC连接数据库进行验证的缺省实现,基于该包的支持,我们只需要做一些配置工作即可实现JDBC认证。

JDBC认证方法支持多种数据库,DB2,Oracle,MySql,MicrosoftSQLServer等均可,这里以DB2作为例子介绍。并且假设DB2数据库名:CASTest,数据库登录用户名:db2user,数据库登录密码:db2password,用户信息表为:userTable,该表包含用户名和密码的两个数据项分别为userName和password。

1.配置DataStore

打开文件%CATALINA_HOME%/webapps/cas/WEB-INF/deployerConfigContext.xml,添加一个新的bean标签,对于DB2,内容如清单4所示:

清单4.配置DataStore

<beanid="casDataSource"class="bchome-4e34-c17f-eca9-5847 org.apache.commons.dbcp.BasicDataSource">

<propertyname="driverClassName">

<value>com.ibm.db2.jcc.DB2Driver</value>

</property>

<propertyname="url">

<value>jdbc:db2://9.125.65.134:50000/CASTest</value>

</property>

<propertyname="username">

<value>db2user</value>

</property>

<propertyname="password">

<value>db2password</value>

</property>

</bean>

其中id属性为该DataStore的标识,在后面配置AuthenticationHandler会被引用,另外,需要提供DataStore所必需的数据库驱动程序、连接地址、数据库登录用户名以及登录密码。

2.配置AuthenticationHandler

在cas-server-support-jdbc-3.1.1.jar包中,提供了3个基于JDBC的AuthenticationHandler,分别为BindModeSearchDatabaseAuthenticationHandler,QueryDatabaseAuthenticationHandler,SearchModeSearchDatabaseAuthenticationHandler。其中BindModeSearchDatabaseAuthenticationHandler是用所给的用户名和密码去建立数据库连接,根据连接建立是否成功来判断验证成功与否;QueryDatabaseAuthenticationHandler通过配置一个SQL语句查出密码,与所给密码匹配;SearchModeSearchDatabaseAuthenticationHandler通过配置存放用户验证信息的表、用户名字段和密码字段,构造查询语句来验证。

使用哪个AuthenticationHandler,需要在deployerConfigContext.xml中设置,默认情况下,CAS使用一个简单的username=password的AuthenticationHandler,在文件中可以找到如下一行:<beanclass="bchome-c17f-eca9-5847-e5d2 org.jasig.cas.authentication.handler.support.SimpleTestUsernamePassword

AuthenticationHandler"/>,我们可以将其注释掉,换成我们希望的一个AuthenticationHandler,比如,使用QueryDatabaseAuthenticationHandler或SearchModeSearchDatabaseAuthenticationHandler可以分别选取清单5或清单6的配置。

清单5.使用QueryDatabaseAuthenticationHandler

<beanclass="bchome-eca9-5847-e5d2-3518 org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">

<propertyname="dataSource"ref="casDataSource"/>

<propertyname="sql"

value="selectpasswordfromuserTablewherelower(userName)=lower(?)"/>

</bean>

清单6.使用SearchModeSearchDatabaseAuthenticationHandler

<beanid="SearchModeSearchDatabaseAuthenticationHandler"

class="bchome-5847-e5d2-3518-eebd org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler"

abstract="false"singleton="true"lazy-init="default"

autowire="default"dependency-check="default">

<propertyname="tableUsers">

<value>userTable</value>

</property>

<propertyname="fieldUser">

<value>userName</value>

</property>

<propertyname="fieldPassword">

<value>password</value>

</property>

<propertyname="dataSource"ref="casDataSource"/>

</bean>

另外,由于存放在数据库中的密码通常是加密过的,所以AuthenticationHandler在匹配时需要知道使用的加密方法,在deployerConfigContext.xml文件中我们可以为具体的AuthenticationHandler类配置一个property,指定加密器类,比如对于QueryDatabaseAuthenticationHandler,可以修改如清单7所示:

清单7.添加passwordEncoder

<beanclass="bchome-e5d2-3518-eebd-3d5d org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">

<propertyname="dataSource"ref="casDataSource"/>

<propertyname="sql"

value="selectpasswordfromuserTablewherelower(userName)=lower(?)"/>

<propertyname="passwordEncoder"ref="myPasswordEncoder"/>

</bean>

其中myPasswordEncoder是对清单8中设置的实际加密器类的引用:

清单8.指定具体加密器类

<beanid="passwordEncoder"

class="bchome-3518-eebd-3d5d-23d9 org.jasig.cas.authentication.handler.MyPasswordEncoder"/>

这里MyPasswordEncoder是根据实际情况自己定义的加密器,实现PasswordEncoder接口及其encode()方法。

3.部署依赖包

在以上配置完成以后,需要拷贝几个依赖的包到cas应用下,包括:

将cas-server-support-jdbc-3.1.1.jar拷贝到%CATALINA_HOME%/webapps/cas/WEB-INF/lib目录。

数据库驱动,由于这里使用DB2,将%DB2_HOME%/java目录下的db2java.zip(更名为db2java.jar),db2jcc.jar,db2jcc_license_cu.jar拷贝到%CATALINA_HOME%/webapps/cas/WEB-INF/lib目录。对于其他数据库,同样将相应数据库驱动程序拷贝到该目录。

DataStore依赖于commons-collections-3.2.jar,commons-dbcp-1.2.1.jar,commons-pool-1.3.jar,需要到apache网站的Commons项目下载以上3个包放进%CATALINA_HOME%/webapps/cas/WEB-INF/lib目录。

扩展CASServer界面

CAS提供了2套默认的页面,分别为“default”和“simple”,分别在目录“cas/WEB-INF/view/jsp/default”和“cas/WEB-INF/view/jsp/simple”下。其中default是一个稍微复杂一些的页面,使用CSS,而simple则是能让CAS正常工作的最简化的页面。

在部署CAS之前,我们可能需要定制一套新的CASServer页面,添加一些个性化的内容。最简单的方法就是拷贝一份default或simple文件到“cas/WEB-INF/view/jsp”目录下,比如命名为newUI,接下来是实现和修改必要的页面,有4个页面是必须的:

casConfirmView.jsp:当用户选择了“warn”时会看到的确认界面

casGenericSuccess.jsp:在用户成功通过认证而没有目的Service时会看到的界面

casLoginView.jsp:当需要用户提供认证信息时会出现的界面

casLogoutView.jsp:当用户结束CAS单点登录系统会话时出现的界面

CAS的页面采用Spring框架编写,对于不熟悉Spring的使用者,在修改之前需要熟悉该框架。

页面定制完过后,还需要做一些配置从而让CAS找到新的页面,拷贝“cas/WEB-INF/classes/default_views.properties”,重命名为“cas/WEB-INF/classes/newUI_views.properties”,并修改其中所有的值到相应新页面。最后是更新“cas/WEB-INF/cas-servlet.xml”文件中的viewResolver,将其修改为如清单9中的内容。

清单9.指定CAS页面

<beanid="viewResolver"

class="bchome-eebd-3d5d-23d9-e608 org.springframework.web.servlet.view.ResourceBundleViewResolver"p:order="0">

<propertyname="basenames">

<list>

<value>${cas.viewResolver.basename}</value>

<value>newUI_views</value>

</list>

</property>

</bean>

部署客户端应用

单点登录的目的是为了让多个相关联的应用使用相同的登录过程,本文在讲解过程中构造2个简单的应用,分别以casTest1和casTest2来作为示例,它们均只有一个页面,显示欢迎信息和当前登录用户名。这2个应用使用同一套登录信息,并且只有登录过的用户才能访问,通过本文的配置,实现单点登录,即只需登录一次就可以访问这两个应用。

与CASServer建立信任关系

假设CASServer单独部署在一台机器A,而客户端应用部署在机器B上,由于客户端应用与CASServer的通信采用SSL,因此,需要在A与B的JRE之间建立信任关系。

首先与A机器一样,要生成B机器上的证书,配置Tomcat的SSL协议。其次,下载http://blogs.sun.com/andreas/entry/no_more_unable_to_find 的InstallCert.java,运行“javaInstallCertcompA:8443”命令,并且在接下来出现的询问中输入1。这样,就将A添加到了B的truststore中。如果多个客户端应用分别部署在不同机器上,那么每个机器都需要与CASServer所在机器建立信任关系。

配置CASFilter

准备好应用casTest1和casTest2过后,分别部署在B和C机器上,由于casTest1和casTest2,B和C完全等同,我们以casTest1在B机器上的配置做介绍,假设A和B的域名分别为domainA和domainB。

将cas-client-java-2.1.1.zip改名为cas-client-java-2.1.1.jar并拷贝到casTest1/WEB-INF/lib目录下,修改web.xml文件,添加CASFilter,如清单10所示:

清单10.添加CASFilter

<web-app>

...

<filter>

<filter-name>CASFilter</filter-name>

<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>

<init-param>

<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>

<param-value>https://domainA:8443/cas/login</param-value>

</init-param>

<init-param>

<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>

<param-value>https://domainA:8443/cas/serviceValidate</param-value>

</init-param>

<init-param>

<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>

<param-value>domainB:8080</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CASFilter</filter-name>

<url-pattern>/protected-pattern/*</url-pattern>

</filter-mapping>

...

</web-app>

对于所有访问满足casTest1/protected-pattern/路径的资源时,都要求到CASServer登录,如果需要整个casTest1均受保护,可以将url-pattern指定为“/*”。

从清单10可以看到,我们可以为CASFilter指定一些参数,并且有些是必须的,表格1和表格2中分别是必需和可选的参数:

表格1.CASFilter必需的参数

参数名作用

edu.yale.its.tp.cas.client.filter.loginUrl指定CAS提供登录页面的URL

edu.yale.its.tp.cas.client.filter.validateUrl指定CAS提供serviceticket或proxyticket验证服务的URL

edu.yale.its.tp.cas.client.filter.serverName指定客户端的域名和端口,是指客户端应用所在机器而不是CASServer所在机器,该参数或serviceUrl至少有一个必须指定

edu.yale.its.tp.cas.client.filter.serviceUrl该参数指定过后将覆盖serverName参数,成为登录成功过后重定向的目的地址

表格2.CASFilter可选参数

参数名作用

edu.yale.its.tp.cas.client.filter.proxyCallbackUrl用于当前应用需要作为其他服务的代理(proxy)时获取ProxyGrantingTicket的地址

edu.yale.its.tp.cas.client.filter.authorizedProxy用于允许当前应用从代理处获取proxytickets,该参数接受以空格分隔开的多个proxyURLs,但实际使用只需要一个成功即可。当指定该参数过后,需要修改validateUrl到proxyValidate,而不再是serviceValidate

edu.yale.its.tp.cas.client.filter.renew如果指定为true,那么受保护的资源每次被访问时均要求用户重新进行验证,而不管之前是否已经通过

edu.yale.its.tp.cas.client.filter.wrapRequest如果指定为true,那么CASFilter将重新包装HttpRequest,并且使getRemoteUser()方法返回当前登录用户的用户名

edu.yale.its.tp.cas.client.filter.gateway指定gateway属性

传递登录用户名

CAS在登录成功过后,会给浏览器回传Cookie,设置新的到的ServiceTicket。但客户端应用拥有各自的Session,我们要怎么在各个应用中获取当前登录用户的用户名呢?CASClient的Filter已经做好了处理,在登录成功后,就可以直接从Session的属性中获取,如清单11所示:

清单11.在Java中通过Session获取登录用户名

//以下两者都可以

session.getAttribute(CASFilter.CAS_FILTER_USER);

session.getAttribute("edu.yale.its.tp.cas.client.filter.user");

在JSTL中获取用户名的方法如清单12所示:

清单12.通过JSTL获取登录用户名

<c:outvalue="${sessionScope[CAS:'edu.yale.its.tp.cas.client.filter.user']}"/>

另外,CAS提供了一个CASFilterRequestWrapper类,该类继承自HttpServletRequestWrapper,主要是重写了getRemoteUser()方法,只要在前面配置CASFilter的时候为其设置“edu.yale.its.tp.cas.client.filter.wrapRequest”参数为true,就可以通过getRemoteUser()方法来获取登录用户名,具体方法如清单13所示:

清单13.通过CASFilterRequestWrapper获取登录用户名

CASFilterRequestWrapperreqWrapper=newCASFilterRequestWrapper(request);

out.println("Thelogonuser:"+reqWrapper.getRemoteUser());

tomcat安装教程

Tomcat安装及配置教程:

品牌型号:华硕UX30K723A

系统版本:win7

软件版本:tomcat、eclipse

1、tomcat是符合java ee标准的最小的web server,它可以完成大部分的小型系统的开发,并且提供支持,tomcat最大的分水岭是tomcat4.1之后,而在tomcat5.5之后也发生了一些改变,到今天使用的tomcat8。

首先从tomcat官网上下载tomcat服务器,下载之前要保证jdk可以正常使用,tomcat是需要jdk的支持的。

2、从tomcat下载路径下载免安装版tomcat服务器。

3、打开E:\apache-tomcat-8.5.12\conf目录下的server.xml,在这个文件中可以修改tomcat的端口:

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443"/>

如果要想新的配置起作用,需要重启tomcat服务器。

4、在tomcat安装目录的bin下使用startup.bat命令启动tomcat。

5、但是以上的这些配置离开发还是比较远,所以下面最为重要的进行虚拟目录的配置。虚拟目录可以说是项目保存的路径,而虚拟目录在磁盘上也就是一个文件夹,不过这个文件夹的组成有一些要求,必须存在一个WEB-INF目录,里面必须有有一个web.xml文件。修改server.xml文件。

6、里面的两个属性作用如下:

path:标识浏览器输入的路径名称;docBase:标识对应的磁盘上的目录名称。

如果要想新的配置起作用,需要重启tomcat服务器。这样才能加载新的配置。

如果在日后的开发之中,发现程序没有任何的错误,而且每次修改之后也没有任何新的问题产生,就有可能是tomcat不编译了,那么此时建议关闭tomcat,而后删除work目录中的内容。

tomcat5.5下载和tomcat安装教程的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

企业邮箱租用?企业邮箱租用合同 网站盈利模式,门户网站的盈利模式有哪些