Tomcat5.5.X 的安装和配置 (一)
FOR WINDOW
一、
摘要
本文档对以下内容进行说明:
1.
Tomcat5.5.X安装
2.
Tomcat5.5.X配置:默认配置
3.
Tomcat5.5.X配置:自定义配置
4.
Web server调试运行
二、
关键字
三、
准备工作
1.
准备Tomcat5.5.X安装软件,下载:http://jakarta.apache.org/tomcat/
2.
准备调试用的.class/.jsp/.html/.xml等文件
3.
准备好数据,数据环境搭建,或数据文档创建,建使用access,比较小巧
3.
安装好JDK
四、
安装
1.
双击Tomcat5.5.X.exe
2.
Next下一步即可(其中有选择JRE的,我的装在:E:\j2ee\jdk1.5.0\jre;用户名与密码,均为--admin;这一次全部采用默认设置)
五、
配置
1.
默认
安装完毕,启动服务,http://localhost:8080/,就可看到web
默认的发布目录在:Tomcat安装目录\webapps\ROOT,默认运行的文件为Servlet,详见:webapps\ROOT\WEB-INF\web.xml
2.
配置Tomcat 应用( 配置虚拟目录 )
在 Tomcat5.5 的配置文件中( $Tomcat安装目录$/conf/server.xml )找到标签对,在中间添加
//docBase 中的是应用所在的路径, path 中定义的是应用所访问的虚拟路径
修改server.xml里的appBase,默认的webapps/root目录。
需要添加<Context path="" docBase="c:/inetpub/wwwroot" debug="0" privileged="true" reloadable="true" />
######################################################################################################
<Host name="localhost" appBase="/"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="F:/exercise/_jstlstudy/webapps" debug="0" privileged="true" reloadable="true" /></Context>
######################################################################################################
红色的为修改过的,原分别为:webapps,下一段是加的
启动服务:E:\j2ee\Container\Tomcat 5.5\bin\tomcat5w.exe
IE中输入:http://localhost:8080/main.html
http://localhost:8080/connAccess.jsp
注:定义的web发布目录为:
F:\exercise\_jstlstudy\webapps
F:\exercise\_jstlstudy\webapps\main.html
3.
启动服务
说明:
将整个E:\j2ee\Container\Tomcat 5.5\webapps\ROOT\WEB-INF目录copy到你建的发布目录,就可以执行JavaBean
六、
调试
1.
jsp/html/xml....
文件放至目录:F:/exercise/_jstlstudy/webapps
2.
Servlet
3个Servlet:
Hello:
//package cn;
//package cn.vad.basalservice.dateop;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Hello
extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void service(HttpServletRequest request, HttpServletResponse response) throws
IOException {
PrintWriter out = response.getWriter();
//response.setContentType("text/html;charset=GB2312");
out.println("");
out.println("Hello!");
out.println("");
}
}
TestServlet:
package cn;
.....
ValidateCode(产生验证码):
package cn.vad;
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
/**
* Title: ValidateCode.java
* Description: 主要实现网站上常用的验证码功能.
* 随机生成一个4位数的验证码,并且生成图像,将验证码写入图像.
* Copyright: Copyright (c) 2003
* Company: 蓝星软件
* @author falcon
* @version 1.1
*/
public class ValidateCode
extends HttpServlet {
private Font mFont = new Font("宋体", Font.PLAIN, 12); //设置字体
//处理post
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
//取得一个1000-9999的随机数
String s = "";
int intCount = 0;
intCount = (new Random()).nextInt(9999);
if (intCount < 1000) intCount += 1000;
s = intCount + "";
//保存入session,用于与用户的输入进行比较.
//注意比较完之后清除session.
HttpSession session = request.getSession(true);
session.setAttribute("validateCode", s);
response.setContentType("image/gif");
ServletOutputStream out = response.getOutputStream();
BufferedImage image = new BufferedImage(35, 14, BufferedImage.TYPE_INT_RGB);
Graphics gra = image.getGraphics();
//设置背景色
gra.setColor(Color.yellow);
gra.fillRect(1, 1, 33, 12);
//设置字体色
gra.setColor(Color.black);
gra.setFont(mFont);
//输出数字
char c;
for (int i = 0; i < 4; i++) {
c = s.charAt(i);
gra.drawString(c + "", i * 7 + 4, 11); //7为宽度,11为上下高度位置
}
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();}
}
使用Servlet,要在WEB-INF/web.xml里定义:
<!-- JSPC servlet mappings start -->
<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
<!---上面是web.xml自带的,下面是照着做的---->
<servlet>
<servlet-name>cn.TestServlet</servlet-name>
<servlet-class>cn.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cn.TestServlet</servlet-name>
<url-pattern>/test.jsp</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>cn.vad.ValidateCode</servlet-name>
<servlet-class>cn.vad.ValidateCode</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cn.vad.ValidateCode</servlet-name>
<url-pattern>/ValidateCode/*</url-pattern>
</servlet-mapping>
<!-- JSPC servlet mappings end -->
IE中分别输入:
http://localhost:8080/Hello
http://localhost:8080/TestServlet 或
http://localhost:8080/test.jsp
http://localhost:8080/ValidateCode/ 或
http://localhost:8080/ValidateCode/a
http://localhost:8080/ValidateCode/b
http://localhost:8080/ValidateCode/ValidateCode
运行成功!
注意:
参考了:
安装目录\examplesWebApp\WEB-INF \web.xml
遇到问题,若找的资料都不理想,不妨回过头来看看软件自带的例子!
还可在控制台下操作:
http://127.0.0.1:8080/manager/html
或
开始菜单:Tomcat5.5-->Tomcat manager
还可直接更改配置文件:
......
3.
JavaBean
<%@ page contentType="text/html;charset=gb2312" errorPage="/error.jsp" session="true" %>
<%@ page import="cn.vad.basalservice.dateop.MD5" %>
<%@ page import="com.sun.image.codec.jpeg.*,java.io.*,java.awt.*,java.awt.image.*" %> 中华人民共和国:<%=MD5.MD5Encode("中华人民共和国")%><br><br>
888888:<%=MD5.MD5Encode("888888")%><br><br>
vad:<%=MD5.MD5Encode("vad")%><br><br>
4.
/Access/Oracle
Access
创建数据库文件:test.mdb
创建据库表:users,字段分别为:userID,userName,userSex
连接数据库:
connAccess.jsp
<%@page contentType="text/html;charset=GBK"%>
<%@page import="java.io.*,java.sql.*"%>
<%
String strPath = "";
strPath = new File(application.getRealPath(request.getRequestURI())).getParent()+"/db/test.mdb";
//F:\_temp\my_project_a1\applications\DefaultWebApp/db/test.mdb
//F:\_temp\my_project_a1\applications\DefaultWebApp\connAccess.jsp
//strPath = System.getProperty("user.dir");
//F:\_temp\my_project_a1\domains\lzadomain Connection con;
Statement stmt;
ResultSet rs;
try{
//Load JDBC driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//DBQ=...
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strPath;
con=DriverManager.getConnection(url,"","");
stmt=con.createStatement();
String query="select * from users";
rs=stmt.executeQuery(query);
while(rs.next())
{
String str=rs.getString("userName");
out.print(str+"<br>");
}
}
catch(Exception e){
e.printStackTrace();
}
finally{
//try{if(rs!=null) rs.close();}catch(Exception a){}
//try{if(stmt!=null) stmt.close();}catch(Exception b){}
//try{if(con!=null) con.close();}catch(Exception c){}
}
%>
Oracle:
jsp连接Oracle8/8i/9i数据库(用thin模式)
<%
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="aaaa";
String password="aaaa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
%>
您的第一个字段内容为:< %=rs.getString(1)%>
您的第二个字段内容为:< %=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%
rs.close();
stmt.close();
conn.close();
%>
七、
特别提示
八、
说明
以上是经过我测试了的,非常希望能与朋友们交流,所以欢迎转载。转载时请注明:欢迎交流---liuzhenai@vip.sina.com