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