5 测试与补充说明 
5.1 整合到目前为止告一段落,下面对系统进行测试,首先,请重启Apache,Tomcat及mysql服务 
5.1.1 用mysql control center在mysql建一个"testdb"的数据库,并建立一个数据库用户 test ,密码 testpwd 然后建一个user的表,里有三个字段 
 
| name | 
varchar |  
| password | 
varchar |  
| id | 
int |   
5.1.2 JSP测试 
在WEB发布目录下,建一个WEB-INF目录,可以从$TOMCAT\webapps\root下复制一份过来,保留原来的目录,然后修改WEB-INF目录下的web.xml文件,内容改为如下 
<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE web-app     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"     "http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app> 
<!--这一段加入是对jdbc,mysql数据连接的支持-->   
<resource-ref>       <description>DB Connection</description>       <res-ref-name>jdbc/Test</res-ref-name>       <res-type>javax.sql.DataSource</res-type>       <res-auth>Container</res-auth>   </resource-ref> 
  
<!-- 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> 
<!-- JSPC servlet mappings end --> </web-app> 
注意:每次改完 web.xml文件后都得重启一下Tomcat才能生效 然后根据前文的设置在D:/webapps下新建一个test.jsp文件 
内容如下: 
<%@ page import="javax.naming.Context" %> <%@ page import="javax.sql.DataSource"%> <%@ page import="javax.naming.InitialContext"%> <%@ page import="java.sql.*"%> 
<%@ page contentType="text/html;charset=gb2312" %> <!-- <%request.setCharacterEncoding("GB2312");%>-->  <%    DataSource ds = null;    try{      Context initCtx = new InitialContext();      Context envCtx = (Context) initCtx.lookup("java:comp/env");      ds = (DataSource)envCtx.lookup("jdbc/Test"); if(ds!=null)  out.println("数据库连接成功"); else   out.println("数据库连接失败");    }catch(Exception ne){ out.println(ne);}  %> 
  
然后访问http://127.0.0.1:8080/test.jsp和http://127.0.0.1/test.jsp 应该显示同样结果 
如果显示数据库连接成功,则表示你已经成功整合,如果显示数据库连接失败则表示至少JSP的配置是成功的,但数据库连接方面有问题,如果显示错误,请自行检查 
5.1.3 Servlet配置及测试 
5.1.3.1 编译一个Hello.java文件,内容如下 
 import javax.servlet.*;          import javax.servlet.http.*;     import java.io.*;             
public class Hello extends HttpServlet { 
    public void doGet(HttpServletRequest request, HttpServletResponse response)         throws IOException 
 String name = request.getParameter("username"); 
 if (name == null)       name = (String)request.getSession().getAttribute("username"); 
 if (name == null) name = "World"; 
  response.setContentType("text/html"); 
  PrintWriter out = response.getWriter(); 
  out.println("Hello " + name + "!"); 
    public void doPost(HttpServletRequest request,HttpServletResponse response)         throws IOException     {  doGet(request, response);     } }
  
5.1.3.2 在WEB发布目录下建立一个servlet目录,专门放置servlet,提高运行效率,前文已经在httpd.conf文件中做了相应的配置,然后再将上文提到的d:\webapps\WEB-INF目录复制到servlet目录下,然后将刚才编译的Hello.java的Hello.class文件放到d:\webapps\servlet\WEB-INF\classes目录下,再打开d:\webapps\servlet\WEB-INF\web.xml文件,在<web-app></web-app>之间添加内容如下: 
    <servlet>         <servlet-name>Hello</servlet-name>         <servlet-class>Hello</servlet-class>     </servlet> 
    <servlet-mapping>         <servlet-name>Hello</servlet-name>         <url-pattern>/hello</url-pattern>     </servlet-mapping> 
  
添加servlet的映射,注意<url-pattern>/hello</url-pattern>这样访问http://127.0.0.1/servlet/hello或者http://127.0.0.1:8080/servlet/hello就可以访问到这个servlet,如果servlet目录为XXX目录<url-pattern>/helloworld</url-pattern>,则访问http://127.0.0.1/XXX/helloworld即可,注意要同时对$Apache\httpd.conf文件内容做相应修改,然后重启一下Apache,Tomcat等服务 
如果显示成功,恭喜,你已经完成了Win2000/xp Apache2.0.48+Tomcat5.0.19+mysql4.0.18+JDK1.5(1.4)+JSP/servlet整合 
  
我对JSP和Servlet并不是十分了解,刚刚学了没多久,以上的内容是我这几天查找了大量资料,自己不断实验后,请教网友后总结出来的文章,目的主要是为了抛砖引玉,一来给初学者做参考,二来请大家多多指教.文章写的仓促,难免有错误和不足之错,谢谢指正,不要丢鸡蛋就好了
Author: Arthurz Email:[email protected]  
 
  |