在
server.xml文件中增加
<Context path="/oicq" docBase="myweb" debug="0" reloadable="true">
</Context>
myweb说明其相对webapps的位置,是物理存在的目录;
/oicq说明其相对web URL的路径,是一个虚拟的路径,如:
http://localhost/oicq
JSP文件直接放在myweb下;
编译好的
JavaBean、Servlet放在WEB-INF下的classes目录,而且包的路径要与目录路径一致。
在
server.xml文件的第56行,修改port = “8080” 为你所希望使用的端口号,如:80
在
server.xml文件中,修改标签Connector,在最后加入如下Connector标签最后加入的属性
<Connector port="8090"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding='GB2312'/>
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false" protocol="AJP/1.3"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
URIEncoding='GB2312'/>
默认
(
欢迎)文件的设置
在
h:\tomcat4\conf\web.xml中,<welcome-file-list>与IIS中的默认文件意思相同。
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
报错文件的设置
<error-page>
<error-code>404</error-code>
<location>/notFileFound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/null.jsp</location>
</error-page>
如果某文件资源没有找到,服务器要报404错误,按上述配置则会调用H:\tomcat4\webapps\ROOT\notFileFound.jsp。
如果执行的某个JSP文件产生NullPointException ,则会调用H:\tomcat4\webapps\ROOT\null.jsp
典型的JSP错误页面应该这样写:
<%@ page isErrorPage=”true”%>
出错了:(</p> 错误信息: <%= exception.getMessage() %><br>
Stack Trace is : <pre><font color="red">
<%
java.io.CharArrayWriter cw = new java.io.CharArrayWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(cw,true);
exception.printStackTrace(pw);
out.println(cw.toString());
%>
</font></pre>
会话超时的设置
设置session 的过期时间,单位是分钟;
<session-config> <session-timeout>30</session-timeout> </session-config>
过滤器的设置
<filter>
<filter-name>FilterSource</filter-name>
<filter-class>project4. FilterSource </filter-class>
</filter>
<filter-mapping>
<filter-name>FilterSource</filter-name>
<url-pattern>/WwwServlet</url-pattern>
(<url-pattern>/haha/*</url-pattern>)
</filter-mapping>
</filter>
过滤:
1) 身份验证的过滤Authentication Filters
2) 日志和审核的过滤Logging and Auditing Filters
3) 图片转化的过滤Image conversion Filters
4) 数据压缩的过滤Data compression Filters
5) 加密过滤Encryption Filters
6) Tokenizing Filters
7) 资源访问事件触发的过滤Filters that trigger resource access events
8) XSL/T 过滤XSL/T filters
9) 内容类型的过滤Mime-type chain Filter 注意监听器的顺序,如:先安全过滤,然后资源,然后内容类型等,这个顺序可以自己定,但最好要合理。
监听器的设置
<listener>
<listener-class>project4.SALListenerServlet</listener-class>
</listener>
监听器分四种,分别是:
ServletContextListener :对上下文(全局)对象的创建和销毁进行监听
ServletContextAttributeListener:对上下文对象某一属性的增加、替换、删除进行监听
HttpSessionListener:对Session的创建和销毁进行监听
HttpSessionAttributeListener:对Session某一属性的增加、替换、删除进行监听
Servlet
的设置
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>project4.HelloServlet</servlet-class>
<init-param>
<param-name>age</param-name>
<param-value>26</param-value>
</init-param>
<init-param>
<param-name>ip</param-name>
<param-value>192.168.5.65</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
解释:
<servlet>内的<servlet-name> 是一个逻辑名,可以是任何有效的标识名,可以将上述配置中的两个<servlet-name>HelloServlet</servlet-name>同时改成<servlet-name>qq</servlet-name>,得到的效果相同,注意要"同时改",这样可以继续保持对应的关系。
<init-param>是Servlet初始参数,在Servlet 的init()方法中通过getInitParameter("ip")取得,返回String型数据,
<servlet-mapping>内的<servlet-name>与<servlet>内的<servlet-name>一一对应,把客户端对/HeeloServlet的请求对应到<servlet-class>project4.HelloServlet</servlet-class>所指定的位置。
<url-pattern>/HelloServlet</url-pattern>指在IE url中的请求形式。这里的/ 是相对于当前的web目录的,如H:\tomcat4\webapps\myweb
web.xml文件中安全性的设置
<
security-constraint>
<display-name>test</display-name>
<web-resource-collection>
<web-resource-name>Success</web-resource-name>
<url-pattern>/HelloServlet</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>China of Beijing : ) </realm-name>
</login-config>
说明:
<display-name>和<web-resource-name>可以是任意,但最好起一个有意义的名。<auth-constraint>中<role-name>约束了只有哪些角色可以访问由<url-pattern>指定的资源。
<http-method>对指定方法的访问进行限定,未指出的不进行限定。
<transport-guarantee>指明对转输的数据的要求,有三个可选值:NONE,INTEGRAL,CONFIDENTIAL
<login-config>: 内说明的是以何种方式进行身份验证,有三种可选值: None,Digest,Client-Cert,Basic,Form。
<realm-name>:区域名,可以是你想给客户看的提示信息。
另一种验证方式:
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.htm</form-login-page>
<form-error-page>/loginError.htm</form-error-page>
</form-login-config>
</login-config>
login.htm文件:
<form method="POST" action="j_security_check" >
用户名:<input type="text" name="j_username"> </p>
密 码:<input type="password" name="j_password"> </p>
<input type="submit" value="让我进去吧!">
</form>
其中红字部分不能更改,并且区分大小写
<tomcat-users>
<user name="tomcat" password="tomcat" roles="tomcat" />
<user name="role1" password="tomcat" roles="role1" />
<user name="both" password="tomcat" roles="tomcat,role1" />
<user name="wang" password="tomcat" roles="admin" />
</tomcat-users>
定义用户名和用户所属的角色,在安全性访问中起作用,如Basic,Form等加密方式。
server.xml
<Context path="/icq" docBase="myweb" debug="0" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_icq_log." suffix=".txt" timestamp="true"/>
</Context>
Logger 段,为icq这个应用目录建立一个日志文件;
Prefix 是日志文件的前缀; suffix 是日志文件的后缀; myweb说明其相对webapps的位置,是物理存在的目录;
/icq说明其相对web URL的路径,是一个虚拟的路径,如:http://localhost/icq reloadable在开发时比较有用,指自动载入新的Servlet类。
<Connector className="org.apache.catalina.connector.http.HttpConnector" port="8080" minProcessors="5" maxProcessors="75" ... ... 大概在server.xml中的第55、56行,配置服务器的端口。
日志文件有四个,在jakarta-tomcat-4.0.1\logs目录下,
catalina_log在125行catalina_log.2002-06-20.txt 记录了tomcat服务器启动的相关信息
localhost_access_log在180行: localhost_access_log.2002-06-20.txt 用来记录客户端访问了哪些资源,格式如: 172.28.11.91 - - [20/Jun/2002:13:29:09 8000] "GET /web/WwwServlet HTTP/1.1" 500 149 200 149 是服务器反应的状态码
localhost_examples_log localhost_examples_log.2002-06-20.txt在213行这个是examples的日志文件
localhost_log localhost_log.2002-06-20.txt 在190行
这里记录了服务器所运行的程序的详细信息。包括错误信息,调试信息等。用如下写法向这个日志文件写入调试信息在Servlet中用getServletContext().log("Servlet 中报的错!"); 或在JSP中用application.log("哈哈,出错了:("); (ServletContext同application是一回事)
首先讲一下环境配置,注意我配置的环境是在win 2000 server下的,不是linux下的,配置的大致流程和操作系统无关,仅仅是在具体的安装上有差别。而配置成功与否,与操作系统无关。
软件安装分为以下几个部分:
-
java环境安装:
这里使用的是jdk1.4.1(jdk1.4.2也可以),这个可以到sun公司的网站去下载;
-
tomcat环境安装:
tomcat的版本是4.1的,安装版或是解压版都是可以的;
-
eclipse 3 安装:
可以去下列地址下载
http://www.eclipse.org/downloads/index.php
我下载的是 3.1M4 版本,这个版本应该是比较新的。
-
tomcat插件安装:
tomcat插件是要到下面地址下载
http://www.sysdeo.com/eclipse/tomcatPlugin.html
,下载之前需要查看插件是否适合eclipse的版本,我下载的是tomcatPluginV3.zip;
-
lomboz插件安装:
lomboz插件需要下载两个部分,一个是emf环境,另一个是lomboz插件,分别到下列地方去找
http://forge.objectweb.org/project/showfiles.php?group_id=97
http://download.eclipse.org/tools/emf/scripts/downloads.php#goto2.1.0I
我下载的是emf-sdo-runtime-I200412160800.zip和org.objectweb.lomboz_3.1.0.N20050106.zip ;
这里主要是根据eclipse选择适当的lomboz插件,然后查看一下lomboz插件的 介绍,那里会介绍需要的emf插件的版本,然后再去下面的地址找emf插件。
好了,该下载的都有了,下面我介绍一下如何安装和配置。
一、 java环境安装
这个只要直接安装就可以了,不过最好能安装在系统盘以外的地方,这样可以更好理解jvm的配置;安装好了以后,需要配置环境变量,新建JAVA_HOME,并且配置path,把jdk的bin目录添加进去,这样就可以在命令行的任何路径使用jdk的命令了。
[测试] :编写一个hello world程序,然后在dos下使用javac hello.java和java hello命令,如果可以正常执行,就证明jdk安装成功了。
二、 tomcat安装
解压版的直接解压就可以了,然后配置
TOMCAT_HOME,安装版的要注意的两点,一个是安装完之后tomcat的服务就能够启动的了,但是还是要配置TOMCAT_HOME;第二个就是
需要查看一下安装程序是不是把tomcat服务注册成为windows的启动服务,需要到“服务”里查看,如果有这个选项就把它设置为手动启动,并且先停
止这个服务。
[测试]:使用startup.bat命令,服务正常启动之后,ie浏览器里输入
http://localhost:8080/
如果出现正常的小猫页面,那就应该没有问题了。
三、 eclipse 3安装
eclipse的安装倒是很简单,只要解压,然后把eclipse目录复制到盘符下就可以了,启动的时候,系统会自动寻找jvm,当然可以再以后配置,但是好像是必须先安装jdk。
四、 tomcat插件安装,emf插件安装,lomboz插件安装,
这几部分的步骤都是一样的,解压软件包,然后根据里面的目录结构,把目录文件分别复制到feature或plugins目录里,这样就行了,也可以按照用link方式配置插件的方法来安装这些插件,下面将详细讲述一下eclipse的配置。
五、 配置eclipse
-
首先,打开配置界面 window->preferences。如果这几个插件安装成功,左边的列表里应该有lomboz和tomcat的选项。如果没有,检查上面的步骤是不是正确。
点击java->Installed
JREs,然后显示如上,如果是初始安装的,只有显示第一个jre(不要问我什么是jre,自己查资料去),那是系统默认的安装在c盘的jre,如果系统
当中安装了多个jdk,那么最好还是新建一个,点击add,然后选择你需要使用的jdk的位置,然后它会自动寻找其他的参数,点击ok。返回界面之后,不
要忘记点选刚刚添加的jdk,要不然是没有用的。然后点击ok关闭这个窗口。
-
再次打开配置界面,点击tomcat
选项,这里是配置tomcat的参数,根据你安装的tomcat的版本,选择tomcat
version,然户找到该tomcat的主目录,输入在tomcat home,下面的参数会自动配置,点击apply。
然后在左边选择advanced,同样把tomcat的主目录复制在tomcat base,点击apply。
最后在左边选择jvm setting,选择刚刚加入的jre,点击apply,点击ok。这样就可以了。回到界面,点击工具栏上的黄色小猫的图标,如果配置正确,在console里应该有启动tomcat的信息。如果有,就代表tomcat配置成功了。
lomboz基本上不用什么配置,如果左边有
那个lomboz选项,基本上就是成功了。点击lomboz,然后选择刚才配置的jdk里的tools.jar,这样配置就完成了。测试的方法是新建一个
jsp文件,看看打开的时候是不是对script代码有特殊显示,并且建个测试类,看看jsp是不是能够自动引用类里的函数。