Win2000/xp Apache2.0.48+Tomcat5.0.19+mysql4.0.18+JDK1.5(1.4)+JSP/servlet整合进阶(三)

5 测试与补充说明

5.1 整合到目前为止告一段落,下面对系统进行测试,首先,请重启Apache,Tomcat及mysql服务

5.1.1 用mysql control center在mysql建一个"testdb"的数据库,并建立一个数据库用户 test ,密码 testpwd 然后建一个user的表,里有三个字段

namevarchar
passwordvarchar
idint

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.jsphttp://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:yeppo1979@msn.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值