
姓名:张伟
学号:20095458
班级:电子商务09-2班
一、实验配置
实验一Servleter:servlet程序需要在容器上运行,本程序采用JDK1.7+tomcat6.03. Servlet容器负责处理客户请求,并把请求传递给servlet,同时把结果返回给客户。
编译配置(JDK配置):在程序编译前需配置,不然会出现很多错误。配置步骤,→JCreator→Configure→Options→JDK Profiles→JDK version 1.7→add Archive,之后找到D:\Apache Tomcat 6.0\\lib,选中所用jar文件添加。
运行配置(tomcat配置):将写好的程序运行,得到”.class”文件。将文件复制到webapp 里,在运行前需要注册路径。新建一个web.xml文件,代码如下:
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
A application for test. 数据库配置:管理工具--数据源---添加----myodbc 二、实验内容 实验一Servleter: package test; test包 import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class Servleter extends HttpServlet{ 扩展至HttpServlet,HttpServlet抽象类,别的类继承,重写它的方法 String initS; 定义initS public void init(ServletConfig config)throws ServletException 初始化servlet。抛出异常 { super.init(config); initS=new String("I have been initialized"); } public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException servlet容器调用方法以响应servlet请求 { PrintWriter out=res.getWriter(); 输出语句 out.println(" out.println(" out.println(" "+getServletInfo()+" "); 获得作者信息方法 Object o=new Object(); out.println(o); out.println(""); out.println(""); } public void destroy(){} 释放资源方法 public String getServletInfo(){ return "ServletName"+getServletConfig().getServletName()+""+"version:HelloServlet2.0"; } } 运行结果: 实验二Servletor:(访问数据库): package test; import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; public class Servletor extends HttpServlet{扩展至HttpServlet,HttpServlet抽象类,别的类继承,重写它的方法 public void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException 初始化servlet。抛出异常 { res.setContentType("text/html;charset=GB2312"); 防止乱码 PrintWriter out=res.getWriter(); String url="jdbc:odbc:myODBC"; String query="SELECT * FROM Student"; sql语句 out.println(" html语句显示在客户端 try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection(url); Statement stmt=con.createStatement(); ResultSet r=stmt.executeQuery(query); 数据库的链接 while(r.next()){ String r1=r.getString("Sno"); String r2=r.getString("sname"); out.println(" "+r1+" "+r2+" } r.close(); stmt.close(); con.close(); 释放资源方法 } catch(Exception e) {System.out. 运行结果: 三、实验中遇到的问题 实验运行时,没有考虑tomcat6.0和tomcat4.0不同,将class文件直接放到里面运行,显示器显示无法找到。后来知道tomcat6.0需要加上web.xml文件。 Html 语句要成对出现,开始时 没有对应的
开始,实验二无法显示结果,空白页面。没有加汉字译码。加上res.setContentType("text/html;charset=GB2312"),
四、实验总结。
本次试验基本实现了Servlet,还有一些地方有需改进,如,怎样设计页面布局,使页面美观。通过调用,使程序的、通用性更好。
