iLeichun

当前位置: 首页 > J2EE

tomcat下配置jsp、servlet、JavaBean连接池

分类:J2EE   来源:网络   时间:2010-08-22 12:49:45

经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean,数据库连接池,虚拟目录等问题,于是总结了一下如何tomcat下配置jsp、servlet和bean,连接池,虚拟目录希望对那些初学者有所帮助。
  
   一、开发环境配置
  
   第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.5.0 Documentation,然后到tomcat官方站点(http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi)下载tomcat(下载最新5.5.9版本的tomcat);
  
   第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
  
   1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:j2sdk1.5.0):
  
JAVA_HOME=c:j2sdk1.5.0
classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib    ools.jar;(.;一定不能少,因为它代表当前路径)
path=%JAVA_HOME%in
   接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
  
public class Test{
  public static void main(String args[]){
   System.out.println("This is a test program.");
  }
}  
   将上面的这段程序保存为文件名为Test.java的文件。
  
   然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
  
javac Test.java
java Test 
   此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
  
   2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:    omcat):
  
   CATALINA_HOME=c:    omcat
   CATALINA_BASE=c:    omcat
  
   然后修改环境变量中的classpath,把tomat安装目录下的commonlib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
  
classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib    ools.jar;%CATALINA_HOME%commonlibservlet.jar;  
   接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
  
   第三步:建立自己的jsp app目录
  
   1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
   2.在webapps目录下新建一个目录,起名叫myapp;
   3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
   4.WEB-INF下新建一个文件web.xml,内容如下:
  

     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 
   My Web Application
  
    A application for test.

   5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:

   Now time is:

   6.重启Tomcat
  
   7.打开浏览器,输入http://localhost:8080/myapp/index.jsp ;看到当前时间的话说明就成功了。
  
  第四步:建立自己的Servlet:
  
   1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
  
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  public class Test extends HttpServlet {
   protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
    PrintWriter out=response.getWriter();
    out.println( "

This is a servlet test.

");
    out.flush();
   }
  }
}
   2 .编译
  将Test.java放在c:    est下,使用如下命令编译:
  
   C:Test>javac Test.java
  
  然后在c:Test下会产生一个编译后的servlet文件:Test.class
  
   3 .将结构testTest.class剪切到%CATALINA_HOME%webappsmyappWEB-INFclasses下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webappsmyappWEB-INFclasses下有testTest.class的文件目录结构
  
   4 .修改webappsmyappWEB-INFweb.xml,添加servlet和servlet-mapping
  
  编辑后的web.xml如下所示,红色为添加的内容:
  

   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd";>

My Web Application

  A application for test.


  Test
  Test
  A test Servlet
  test.Test


  Test
  /Test


  这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet "映射"到地址/Test上
  
   5 .好了,重启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/Test ;如果看到输出This is a servlet test.就说明编写的servlet成功了。
  
  注意:修改了web.xml以及新加了class,都要重启Tomcat
  
  第四步:建立自己的Bean:
  
   1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
  
package test;
  public class TestBean{
   private String name = null;
   public TestBean(String strName_p){
    this.name=strName_p;
   }
   public void setName(String strName_p){
    this.name=strName_p;
   }
   public String getName(){
    return this.name;
  }
} 
   2 .编译
  
  将TestBean.java放在c:    est下,使用如下命令编译:
  
   C:Test>javac TestBean.java
  
  然后在c:Test下会产生一个编译后的bean文件:TestBean.class
  
   3 .将TestBean.class文件剪切到 %CATALINA_HOME%webappsmyappWEB-INFclasses    est下,
  
   4 .新建一个TestBean.jsp文件,文件内容为:


 
  Java bean name is:



   5 .好了,重启Tomcat,启动浏览器,输入http://localhost:8080/myapp/TestBean.jsp ;如果看到输出Java bean name is: This is a test java bean.就说明编写的Bean成功了。
  
  这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。接下来需要做的事情就是多看书、多读别人的好代码,自己多动手写代码以增强自己在这方面开发的能力了。

配置TOMCAT5.5.X连接池(sqlserver版)

1. 进入tomcat目录下的conf文件夹目录里,找到Server.xml
在tomcat的Server.xml文件中在标签与标签里,定议连接语句,格式如下;
debug="5" reloadable="true" crossContext="true">
maxActive="100" maxIdle="30" maxWait="10000"
username="javauser" password="javadude"
driverClassName=" com.microsoft.jdbc.sqlserver.SQLServerDriver "
url=" jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=KB_Rate""/>
 

 

配置完成后,在DBTest目录下添加一个Test文件,如下:
<%
Connection conn = null;
Context initCtx = new InitialContext();
if (initCtx == null)
throw new Exception("不能获取Context!");
Context ctx = (Context) initCtx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("/Default_JDBC ");//获取连接池对象
javax.sql.DataSource ds = (javax.sql.DataSource) obj; //类型转换
conn = ds.getConnection();
Statement stmt = conn.createStatement();
PreparedStatement ps=conn.prepareStatement("select * from FinalOrderdata");
ResultSet rs=ps.executeQuery();
while(rs.next()){
out.println(rs.getString(1)+"
");
i++;
}
rs.close();
stmt.close();
conn.close();
out.println("连接池测试成功"+i);

到于TOMCAT5.0版本的设置也是差不多,不过在Server.xml中添加连接池设置语句上有所有不,可参考
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html
其它操作也是差不多,
debug="5" reloadable="true" crossContext="true">
debug="5" reloadable="true" crossContext="true">
prefix="localhost_DBTest_log." suffix=".txt"
timestamp="true"/>
auth="Container"
type="javax.sql.DataSource"/>

factory
org.apache.commons.dbcp.BasicDataSourceFactory

maxActive
100

maxIdle
30

maxWait
10000

username
javauser

password
javadude

driverClassName
com.mysql.jdbc.Driver

url
jdbc:mysql://localhost:3306/javatest?autoReconnect=true

有不足的地方,请各为指正!

如何配置Tomcat的虚拟目录

ROOT是tomcat的默认虚拟目录,如果要改成自己的虚拟目录怎么办呢?请继续往下看吧。
要改成自己的虚拟目录,就要请出server.xml来了,该文件是一个配置文件,在Tomcatconf目录下,使用任何文本编辑软件都能打开它,我们先找到下面一句:
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
这里的port="8080"就是端口,我们完全可以用别的端口来代替,但不能是被系统占用的端口(0--1023),这里简单提一下。
下面我们再往下找,会发现以下的语句:

我们就应该找到这两个语句,如果不懂E文,您就认定这两个语句好了。然后我们将该语句更改如下:

这里的path="/myjsp"就是我们就配置的虚拟目录了,以后在地址栏中输入http://localhost:8080/myjsp即可。而docBase="e:/myjsp" 则是机器本地路径,他们通过这个语句形成一个映射关系,其它照抄。
将上面的First.jsp文件放到e:/myjsp目录下,输入http://localhost:8080/myjsp/First.jsp,是不是有一种喜上眉梢的感觉?
在论坛里我见得最多的就是很多人不知道javaBean文件放到哪里,老实说开始我也不知道,更令人不解的是,十个人有九种不同的说法,这更让我们茫然。其实这问题也不是我们想像的那么复杂,我们以一个例子说明:
先建立一个java程序,代码如下:
package hall;
public class SimpleBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}
保存为SimpleBean.java,编译后会生成一个包,其实就相当于一个目录,也就是SimpleBean.class会存放在hall目录中,暂且保存起来,将来备用。
再输入以下代码:
 

Message:

保存在我们刚才建立的虚拟目录e:/myjsp下面,并命名为:BeanTest.jsp。
现在我们应该将hall(包)目录放在哪儿呢?别急,我们先在e:/myjsp下建立一个文件夹WEB-INF,然后再在WEB-INF下建立一个classes文件夹,最后将hall目录放到classes下,当然,hall下的字节码文件SimpleBean.class也一并要移过来,而SimpleBean.java就和BeanTest.jsp放到同一目录吧(可以不需要放的,自己试试)。
好了,大功告成了,重新启动机器(如果您试了好多次都不行,这一步一定要做),在浏览器中输入:http://localhost:8080/myjsp/BeanTest.jsp,您看到了什么?呵,别告诉我您什么都没看到,那肯定是您设置的问题了。
 

更多