教你如何配置自已的Java环境

开发 后端
JSP是JavaServer Pages的简称,是一种集成HTML及Java程序于一个网页的技术。我觉得使用JSP编写程序比ASP、PHP等语言更具有挑战性,更能学到知识,因为它涉及到面向对象的JAVA语言,要用好JSP,就得对JAVA有一定的了解。除此之外,还要求能熟练使用各种开发工具,像Dreamweaver、Photoshop、JBuilder等。

工欲善其事,必先利其器。在运行JSP程序之前,必须做一些准备工作。首先要有一个WEB伺服器,Apache或IIS都可以;其次要有一个执行Java程序的的编译器;再次还要有一个支持JSP的引擎,目前有很多引擎可供选择,例如tomcat、weblogic、resin等。

本文介绍的留言板程序在作者的机器上可以顺利运行,详细Java环境配置如下:

操作系统:  Windows 2000 SERVER

Java编译器:  JDK1.3

WEB伺服器:  Apache1.13.2 + Tomcat3.1引擎

数据库:  Access 2000

Apache和Tomcat安装后的配置有点挑战性,下面是我的安装过程:

1).安装JDK1.3

a).双击 J2SDK1_3_0-WIN.exe 文件,安装到 C:\jdk1.3 目录下;

b).更新下列环境变量,把

C:\jdk1.3\lib\tools.jar;C:\jdk1.3\lib\dt.jar;C:\myclasses加入到CLASSPATH中。

更新方法:右击 我的电脑-属性-高级-环境变量;

c).重起计算机。

2).安装Apache1.13.2

a).双击 apache_1_3_12_win32.exe 文件,安装到 C:\Apache 目录下;

b).用记事本修改 C:\Apache\conf\httpd.conf:

I).PORT:设置Apache Web Server运行时使用的端口号,我把它改成Port 8080,以后在浏览器上输入http://ip:8080 就可以访问到Apache Web Server服务器;

II).SERVERNAME:我把SERVERNAME设置为202.38.126.134(这是我的机器的IP地址);

III).Apache安装完后在"开始-程序"菜单组中多了Apache Web Server菜单组,运行其中的Install Apache as a service,这样的话在“开始-设置-控制面板-服务”中就多了一个名为Apache的服务,您可以用它来启动或停止Apache服务;

IV).打开“开始-设置-控制面板-服务”,选Apache,按"开始"启动Apache服务。

c).在IE中输入http://ip:8080 (ip是你使用的机器的ip地址),Apache运行否?

3).安装Tomcat3.1

a).用WinZIP把tomcat.zip解压缩到一个目录下,***弄成C:/tomcat;

b).打开C:\Apache\conf\httpd.conf文件,在该文件***加上类似这样一句话:

Include C:/tomcat/conf/tomcat.conf;

c).修改Tomcat运行的端口号,注意Tomcat自己有一个独立的HTTP服务器,它必须使用一个还未被使用的端口号,我使用PORT:80,在C:\tomcat\conf\server.xml中修改;

d).将SET TOMCAT_HOME=c:\tomcat

  1. SET JAVA_HOME=c:\jdk1.3 加到 C:\tomcat\bin\tomcat.bat文件中,修改完的文件如下:  
  2. ......  
  3. rem Guess TOMCAT_HOME if it is not present   
  4. SET TOMCAT_HOME=c:\tomcat   
  5. SET JAVA_HOME=c:\jdk1.3 if not "%TOMCAT_HOME%" == "" goto gothome 

下面还有......

e).双击C:\tomcat\startup.bat启动Tomcat;

f).在浏览器上输入http://ip/,如果能看到Tomcat Version 3.1这一页,就表示Tomcat安装成功了。

到此准备工作也就差不多了,***在Tomcat目录下创建一个目录,用来存放编写的程序,具体情况如下:

   C:\tomcat\fox --存放 .html和 .jsp 文件
   C:\tomcat\fox\images --存放图片文件
   C:\tomcat\fox\global --存放数据库
   C:\tomcat\fox\WEB-INF\classes --存放JAVA类文件

为了使这个目录下的JSP程序能顺利运行,还需要在 C:\tomcat\conf\server.xml文件中加上几行代码:  

  1. <Context path="/fox" docBase="fox" 
  2.     defaultSessionTimeOut="30"isWARExpanded="true"  
  3.     isWARValidated="false" isInvokerEnabled="true" 
  4.     isWorkDirPersistent="false"/>  

添加完代码后的server.xml文件看起来如下所示:  

  1.  ......  
  2.    <Context path="" docBase="webapps/ROOT" debug="0" reloadable="true" >  
  3.    </Context> 
  4.    <Context path="/redfox" docBase="redfox" defaultSessionTimeOut="30" isWARExpanded="true" isWARValidated="false" isInvokerEnabled="true" isWorkDirPersistent="false"/>  
  5.    <Context path="/test" docBase="webapps/test" debug="0" reloadable="true" >  
  6.    </Context>  

下面还有......

现在编写一个名为 test.jsp的程序,存于 C:\tomcat\fox\test.jsp   

  1. <html>   
  2.    <body>  
  3.     <%java.util.Date date=new java.util.Date(); %>  
  4.      Hello! the time is now   
  5.     <%out.println(date);%>  
  6.    </body>  
  7.    </html>  

在IE中键入 http://ip/fox/test.jsp,如果能看到当前的时间,那么恭喜:可以开始编写留言板程序了。


一.创建数据库

1).打开Access2000,创建一个新的数据库,我将这个数据库命名为 foxdb.mdb,存在C:\tomcat\fox\global\foxdb.mdb。接下来在 eagle.mdb中创建一个表,命名为 foxtable,表中有五个字段,全为文本格式:

其中“URL”用于记录留言者的 IP 。至于各字段的长度,我把“留言”定为200,其它四个各为20。

2).指定ODBC数据源,其名为foxdb ,指向 C:\tomcat\fox\global\foxdb.mdb。

二.编写用户的留言界面 foxnote.html,存于C:\tomcat\fox\foxnote.html:  

  1. <html>  
  2.   <body>  
  3.    <form method="post" action="foxnoteinsert.jsp">   
  4.     <br>姓名:   
  5.     <input name=username size=15 value="">  
  6.     <br>邮箱:   
  7.     <input name=email size=15 value="">   
  8.     <br>留言:   
  9.     <br>  
  10.     <textarea name=doc rows="5" cols="40">  
  11.     </textarea>   
  12.     <br>   
  13.     <input type=submit value="递交">   
  14.     <input type=reset value="重填">   
  15.    </form>   
  16.   </bocy>  
  17.   </html>  

三.编写 foxnoteinsert.jsp ,将用户的留言写进数据库表中:  

  1. <body bgcolor="#FFFFFF">  
  2.   <%@ page import="java.sql.*,MyUtil,java.util.*"%>   
  3.   <%  
  4.    Connection con=null;   
  5.    String username=MyUtil.gb2312ToUnicode(request.getParameter("username"));   
  6.    String email=MyUtil.gb2312ToUnicode(request.getParameter("email"));   
  7.    String doc=MyUtil.gb2312ToUnicode(request.getParameter("doc"));   
  8.    String url=request.getRemoteAddr();   
  9.    try {   
  10.      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");                         con=DriverManager.getConnection("jdbc:odbc:foxdb","","");   
  11.      String str="insert into foxtable values(?,?,?,?);";   
  12.      PreparedStatement pstmt=con.prepareStatement(str);   
  13.      pstmt.setString(1,username);  
  14.      pstmt.setString(2,email);  
  15.      pstmt.setString(3,doc);   
  16.      pstmt.setString(4,url);   
  17.      pstmt.executeUpdate();   
  18.      pstmt.close();  
  19.      con.close();  
  20.     }   
  21.    catch(Exception e) {   
  22.      out.println(e.getMessage());   
  23.     }  
  24.   %>  

这个程序中有一些要说明的地方,就是其中用到了一个 JavaBean :MyUtil.class 。

MyUtil 的作用是字符串之间的转换。必需关注的是JSP的字符串以Unicode码表示,而留言板界面的表单却是以 gb2312 码表示。所以将用户的留言写进数据库还需要码间的转换。如果不转换而把留言直接写到数据库表,则会产生乱码。下面是 MyUtil 的原代码,存于C:\tomcat\fox\WEB-INF\classes\MyUtil.java ,编译后的MyUtil.class文件也存于此。  

  1. import java.io.*;   
  2.   public class MyUtil{  
  3.   public static String gb2312ToUnicode(String s){  
  4.    try{  
  5.      return new String(s.getBytes("ISO8859_1"),"gb2312");   
  6.     }   
  7.    catch(UnsupportedEncodingException uee){  
  8.      return s;  
  9.     }   
  10.    }  
  11.   public static String unicodeTogb2312(String s){  
  12.    try{  
  13.     return new String(s.getBytes("gb2312"),"ISO8859_1");  
  14.    }   
  15.    catch(UnsupportedEncodingException uee){  
  16.     return s;  
  17.     }  
  18.    }  
  19.   }  

四.编写 foxnoteview.jsp ,用于浏览数据库表中已有的留言,存于C:\tomcat\fox\foxnoteview.jsp ,代码如下:  

  1. <html>  
  2.   <body>   
  3.   <%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*"%>  
  4.   <%  
  5.    Connection con=null;  
  6.    try  
  7.     {  
  8.      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
  9.      con=DriverManager.getConnection("jdbc:odbc:foxdb","","");  
  10.      Statement statement=con.createStatement();  
  11.      ResultSet rs=statement.executeQuery("select * from foxtable");  
  12.  
  13.    %>   
  14.   <table border="1" width="100%" cellspacing="0" cellpadding="0" align="center" bordercolorlight="#CCCCFF" bordercolordark="#FFFFFF">  
  15.   <tr bgcolor="#FFFFFF">   
  16.   <td width="15%" height="25" align="center"><i>作者</i></td>  
  17.   <td width="28%" height="25" align="center"><i>发表时间</i></td>  
  18.   <td width="22%" height="25" align="center"><i>Email</i></td>  
  19.   <td width="35%" height="25" align="center"><i>留言内容</i></td>  
  20.   <%  
  21.    while(rs.next()){  
  22.     out.println("<TR><td align=center><font size=2 color=#999999>"+rs.getString("作者")+"</TD>");  
  23.     out.println("<TD><font size=2color=#999999>"+rs.getString("Email")+"</font></TD>");  
  24.     out.println("<TD><font size=2 color=#999999>"+rs.getString("留言")+"</font></TD>");  
  25.     out.println("<TD><font size=2 color=#999999>"+rs.getString("URL")+"</font></TD></TR>");  
  26.    }  
  27.    rs.close();  
  28.    con.close();  
  29.    }  
  30.    catch(Exception e)  
  31.    {  
  32.     out.println(e.getMessage());  
  33.    }  
  34.   %>   
  35.   </table>  
  36.   </body>  
  37.   </html>  

到此,整个留言板程序就算是完工了。留言板在数据库应用中比较简单,但是加以变化则可以编写出各种各样的应用程序,操作各种各样的数据库^_^

【编辑推荐】

  1. 基于 JavaScript的REST客户端框架
  2. 如何优 化JavaScript脚本的性能
  3. JavaScript控制Excel打印***解决方案
  4. 用 Javascript连接Access数据库的方法
  5. 浅谈 JavaScript中面向对象技术的模拟
责任编辑:张燕妮 来源: cn-java.com
相关推荐

2020-12-03 09:47:23

Python开发工具

2011-01-20 10:19:21

PowerShell个性化

2009-06-16 16:17:22

Java环境配置Vista

2017-07-07 16:30:37

JavaOOM KillerBecome

2017-03-07 19:30:54

Windows 7Windowsjava

2009-12-02 18:25:19

Suse Linux

2011-03-24 14:59:42

2022-04-27 08:55:01

Spring外部化配置

2009-07-10 11:42:36

配置JDK工作环境如何配置JDK

2011-09-09 17:23:53

CentOSLAMPmysql

2009-12-03 13:10:06

2015-02-09 09:57:56

Ceph 块设备OpenStackLinux

2018-10-10 15:14:20

Linux虚拟机配置

2012-04-10 11:26:53

DNS服务

2009-06-29 15:06:23

环境变量配置Java

2009-12-14 15:37:35

Ruby on Rai

2010-01-07 16:50:54

Linux配置PHP环

2010-04-22 17:19:38

Aix系统户环境

2011-12-21 10:46:17

Java

2021-03-24 20:30:15

AndroidPython学习
点赞
收藏

51CTO技术栈公众号