JavaEE基础实验报告2
【实验名称】:Servlet的开发应用
【实验目的】:
1.掌握Servlet的一般开发过程。
2.掌握servlet的配置。
3.掌握servlet的运行。
【实验内容及要求】:
创建第一个web应用程序HelloWorld,包含一个servlet名为“HelloWorldServlet”,为该servlet设置二个初始化参数,参数名分别为name和student_no,参数值分别为“学生姓名”和“学号”(每个同学使用自己的姓名和学号)。
运行该servlet,输出格式为学号为*********的***同学,你好!
这是一个简单的servlet程序
【程序输出结果截图】:
Web.xml页面代码:
HelloWorld.servlet代码页编写:
实验输出正确。
【碰到的问题及解决方法】:
问题:第一次做时,代码按照指导书上修改的,可能有些小错误之类的,对照着指导书再次审查一遍,都改过来了。
但当访问时出现了问题,可以访问Tomcat(http://localhost:8080)但继续访问下面的HelloWeb文件就出现问题。
解决方法:通过网上查询,以上程序没有问题,http Statue 500就是服务器内部问题。
由此我就开始查Tomcat的问题,重新设置了其路径和环境变量,均没错,再重新打开时,还是如此。
于是,最终将Tomcat又重新解压,配置。
终于再次运行时,出现index.jsp和HelloWorld.servlet下的正确信息,这时终于成功了。
【体会和收获】
这次实验虽然简短,但也花费了好久时间。
因为在之前安装Tomcat时,是按照步骤安装的,但还是因为此处出现问题。
所以查找问题源头时间比较长,频繁出错也使得自己有些小失落。
但还好,自己越来越有耐心来研究这种问题,最后成功得到实验结果。
这次试验告诉我,不要忽略任何小事情,也许这种小事最后才是最初的问题所在。
就像本次试验对于环境变量的配置是十分重要的,配置时尤其要注意不能漏掉和搞错步骤,否则在后续的程序编写和运行中会出现很多问题,带来不必要的时间浪费。
【程序代码】:
HelloWorld/HelloWorldServlet.java主要代码:
……
String name, student_no;
……
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gbk");//可以输出汉字
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name=this.getInitParameter("name");
String
student_no=this.getInitParameter("student_no");
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println("学号为:"+student_no+" 的同学"+name+" 你好");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
HelloWorld/web.xml主要代码:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
<init-param>
<param-name>name</param-name>
<param-value>刘文华</param-value>
</init-param>
<init-param>
<param-name>student_no</param-name>
<param-value>1106840507</param-value>
</init-param>
</servlet>。