J2EE上机实验报告

时间:2024.4.27

目录

J2EE上机实验报告........................................................................ 1

实验二、一个简单基于servlet的web应用程序...................... 1

1、实验内容................................................................................. 1

2、关键代码................................................................................. 1

HelloWorld/web.xml............................................................................................. 1

HelloWorld/HelloWorldServlet.java......................................................................... 1

3、实验结果截图.......................................................................... 2

实验三、体验JSP转译阶段的规则............................................. 3

1、实验内容................................................................................. 3

2、关键代码................................................................................. 3

Trans/index.jsp.................................................................................................... 3

Trans/trainsformain.jsp......................................................................................... 3

Trans/error.jsp..................................................................................................... 5

Trans/included.jsp................................................................................................ 6

Trans/causeError.jsp............................................................................................. 7

3、实验结果截图.......................................................................... 7

实验四、JavaBean和数据库元数据编程.................................... 8

1、实验内容................................................................................. 8

2、关键代码................................................................................. 9

testJDBC/connectDB.java..................................................................................... 9

testJDBC/database.jsp....................................................................................... 11

3、实验结果截图........................................................................ 13

实验体会........................................................................................ 13


J2EE上机实验报告

实验二、一个简单基于servlet的web应用程序

1、实验内容

创建第一个web应用程序HelloWorld,包含一个servlet名为“HelloWorldServlet”,为该servlet设置二个初始化参数,参数名分别为name和student_no,参数值分别为“学生姓名”和“学号”(每个同学使用自己的姓名和学号)。运行该servlet,输出格式为

学号为*********的***同学,你好!

这是一个简单的servlet程序

2、关键代码

HelloWorld/web.xml

……

  <init-param>

   <param-name>name</param-name>

   <param-value>侍路登</param-value>

  </init-param>

  <init-param>

   <param-name>student_no</param-name>

   <param-value>0706550124</param-value>

  </init-param>

……

HelloWorld/HelloWorldServlet.java

……

    String name, student_no;

……

    /**

     * The doGet method of the servlet. <br>

     *

     * This method is called when a form has its tag value method equals to get.

     *

     * @param request the request send by the client to the server

     * @param response the response send by the server to the client

     * @throws ServletException if an error occurred

     * @throws IOException if an error occurred

     */

    publicvoid doGet(HttpServletRequest request, HttpServletResponse response)

           throws ServletException, IOException {

       response.setContentType("text/html");

       response.setCharacterEncoding("utf-8");

       PrintWriter out = response.getWriter();

       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.print("学号为 " + student_no + " 的 " + name + " 同学,你好!");

       out.print("<br>");

       out.print("这是一个简单的servlet程序");

       out.println("  </BODY>");

       out.println("</HTML>");

       out.flush();

       out.close();

}

……

    /**

     * Initialization of the servlet. <br>

     *

     * @throws ServletException if an error occurs

     */

    publicvoid init() throws ServletException {

       // Put your code here

       name = this.getInitParameter("name");

       student_no = this.getInitParameter("student_no");

    }

3、实验结果截图

实验三、体验JSP转译阶段的规则

1、实验内容

编写transformation.jsp页面包含课堂ppt上出现的所有的JSP元素,执行该jsp文件(从客户端请求该页面),并在%CATALINA_HOME%\work\Catalina\localhost\app_name\ 下找到该文件转换得到的transformation_jsp.java文件,及transformation_jsp.class文件(其中app_name为该jsp文件所在的应用程序名称)。请对比jsp文件与对应的java文件,指出各种元素如何进行转换的。

2、关键代码

Trans/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<html>

  <head>  

    <title>我的作业的起始页</title>

  </head>

 

  <body>

     <jsp:forward page="transformation.jsp"/>

  </body>

</html>

Trans/trainsformain.jsp

<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" errorPage="error.jsp"%>

<html>

<head>

    <title>transformation.jsp起始页</title>

    <style type="text/css">

<!--

.STYLE1 {

    font-family: "楷体";

    font-weight: bold;

    font-size: 20px;

}

-->

    </style>

</head>

 

<body>

<!-- 测试注释 --> 

<p><span class="STYLE1">测试注释:</span></p>

    <!-- 这是HTML的注释 -->

    <%-- 这是JSP隐藏注释的注释 --%>

    <br/>

<!-- 测试include指令: -->   

<p><span class="STYLE1">测试include指令:</span></p>

  <%@include file="head.jsp"%>

  <br/>

<!-- 测试声明  --> 

<p><span class="STYLE1">测试声明:</span></p>

    <%!

       String getDate()

       {

           String str;

           str = new java.util.Date().toString();

           return str;

       }

    %>

    <br/>

<!-- 测试表达式 -->   

<p><span class="STYLE1">测试表达式:</span></p>

    <%=getDate()%>

    <br/>

<!-- 测试jsp:include动作元素 --> 

<p><span class="STYLE1">测试jsp:include动作元素:</span></p>

    <jsp:include page="included.jsp"/>

    <br/>

<!-- 测试jsp:usebean -->   

<p><span class="STYLE1">测试jsp:usebean:</span></p>   

    <jsp:useBean id="testbean" class="mypackage.testBean" scope="page"/>

   使用jsp:setProperty设置属性:。。。

   <br/>

    <jsp:setProperty property="test" name="testbean" value="我是testBean的一个属性"/>

    使用testbean.getTest()方法取得属性:<%=testbean.getTest()%>

    <br/>

          使用jsp:getProperty取得属性:<jsp:getProperty property="test" name="testbean"/>

    <br/>

<!-- 测试errorpage --> 

<p><span class="STYLE1">测试errorpage:</span></p>      

      <input type="button" name="test_errorpage" value="点击测试errorpage"

      onclick="window.location.href='causeError.jsp'"/>

</body>

</html>

Trans/error.jsp

<%@ page language="java" import="java.util.*" import="java.io.*" pageEncoding="gb2312"%>

<%@ page isErrorPage="true" %>

<html>

  <head>

    <title>出错页面</title>

        <style type="text/css">

<!--

.STYLE1 {

    font-family: "楷体";

    font-size: 36px;

    font-weight: bold;

}

-->

    </style>

  </head>

 

  <body>

 

   <table width="192" border="0" align="center">

  <tr>

    <td width="186" align="center"><p class="STYLE1">出错啦!</p>    </td>

  </tr>

  <tr>

    <td align="center">我是出错处理页面^U^</td>

  </tr>

</table>

 

    <div id="timeout" align="center">&nbsp;</div>

    <script language="javascript">

    var totalTime = 5;

    function showLeftTime()

    {

        timeout.innerHTML=totalTime+"秒后将自动转到主页面。请稍后...";

        totalTime--;

        if(totalTime==0)

        {

            window.location.href="transformation.jsp";

            return;

        }

        setTimeout("showLeftTime()", 1000);

    }

    showLeftTime();

    </script>

   

  </body>

</html>

Trans/included.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312" contentType="text/html;charset=gb2312"%>

<html>

  <body>

    我在included.jsp中,被包含,用于测试 jsp:include 动作元素

  </body>

</html>

Trans/causeError.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030" errorPage="error.jsp"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html> 

  <body>

     <jsp:getProperty property="test" name="xxx"/> <br/><br/>

  </body>

</html>

3、实验结果截图

实验四、JavaBean和数据库元数据编程

1、实验内容

编写一个访问MySql数据库的JavaBean,并编写database.jsp调用该javabean建立对数据库的连接,进行数据库元数据编程,database.jsp中采用如下输出形式给出该数据源的一些限制情况。要求database.jsp中不出现包含数据库访问的代码。

2、关键代码

testJDBC/connectDB.java

package beansrc;

import java.sql.*;

publicclass connectDB

{

    private Connection conn;

    private String url;

    private DatabaseMetaData dbmd;

    private String drivername;

    private String databaseproduct_name;

    privateint maxLen;

    privateint maxcharliteralLength;

    privateint maxColumnsInTable;

    privateint maxRowsize;

    privateint maxConnections;

    privateint maxTablesInSelect;

   

    public connectDB() throws Exception

    {

       Class.forName("com.mysql.jdbc.Driver");

       url="jdbc:mysql://localhost:3306/" +

              "testjdbc?useUnicode=true&characterEncoding=UTF-8";

       conn = DriverManager.getConnection(url, "root", "root");

       dbmd = conn.getMetaData();

       drivername = dbmd.getDriverName();

       databaseproduct_name = dbmd.getDatabaseProductName();

       maxLen = dbmd.getMaxIndexLength();

       maxcharliteralLength = dbmd.getMaxCharLiteralLength();

       maxColumnsInTable = dbmd.getMaxColumnsInTable();

       maxRowsize = dbmd.getMaxRowSize();

       maxConnections = dbmd.getMaxConnections();

       maxTablesInSelect = dbmd.getMaxTablesInSelect();

    }

    public String getDriverName()

    {

       return drivername;

    }

    public String getDatabaseproduct_name()

    {

       return databaseproduct_name;

    }

    public String getUrl()

    {

       return url;

    }

    publicint getMaxLen()

    {

       return maxLen;

    }

    publicint getMaxcharliteralLength()

    {

       return maxcharliteralLength;

    }

    publicint getMaxColumnsInTable()

    {

       return maxColumnsInTable;

    }

    publicint getMaxrowSize()

    {

       return maxRowsize;

    }

    publicint getMaxconnections()

    {

           return maxConnections;     

    }

    publicint getMaxTablesInselect()

    {

       return maxTablesInSelect;

    }

}

testJDBC/database.jsp

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>

<jsp:useBean id="connectDBBean" class="beansrc.connectDB" scope="page"/>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>test the JDBC</title>

<style type="text/css">

<!--

.STYLE1 {

    font-family: "楷体";

    font-weight: bold;

    font-size: 20px;

}

-->

</style>

</head>

<body>

<table width="41%" height="155" border="0" align="center" bordercolor="#FFFFFF">

  <tr>

    <td><table width="108%" border="1" bordercolor="#000000" style="border:#B7CBFF 1px; font-size:15px">

      <tr>

        <td colspan="2" align="center"><p class="STYLE1">数据源的一些限制情况</p></td>

        </tr>

      <tr>

        <td width="36%" align="center">驱动名称</td>

        <td width="64%" align="center" bgcolor="#FFFFFF"><%=connectDBBean.getDriverName()%></td>

      </tr>

      <tr>

        <td align="center">数据库的产品名称</td>

        <td align="center" bgcolor="#FFFFFF"><%=connectDBBean.getDatabaseproduct_name()%></td>

      </tr>

      <tr>

        <td align="center">数据库连接的URL</td>

        <td align="center" bgcolor="#FFFFFF"><%=connectDBBean.getUrl()%></td>

      </tr>

      <tr>

        <td align="center">maxLen:</td>

        <td align="center" bgcolor="#FFFFFF"><%=connectDBBean.getMaxLen()%></td>

      </tr>

      <tr>

        <td align="center">maxCharLiteralLen:</td>

        <td align="center" bgcolor="#FFFFFF"><%=connectDBBean.getMaxcharliteralLength()%></td>

      </tr>

      <tr>

        <td align="center">maxColumnsInTable:</td>

        <td align="center" bgcolor="#FFFFFF"><%=connectDBBean.getMaxColumnsInTable()%></td>

      </tr>

      <tr>

        <td align="center">maxRowSize: </td>

        <td align="center" bgcolor="#FFFFFF"><%=connectDBBean.getMaxrowSize()%></td>

      </tr>

      <tr>

        <td align="center">maxConnections:</td>

        <td align="center" bgcolor="#FFFFFF"><%=connectDBBean.getMaxconnections()%></td>

      </tr>

      <tr>

        <td align="center">maxTablesInSelect:</td>

        <td align="center" bgcolor="#FFFFFF"><%=connectDBBean.getMaxTablesInselect()%></td>

      </tr>

     

    </table></td>

  </tr>

</table>

</body>

</html>

3、实验结果截图

实验体会

         经过几次上机实践,我对动态网页的制作有了一定的了解,并掌握了相关知识。感觉J2EE需要掌握的东西挺多的,有的也挺复杂的。

         凡事“知其所以然”很重要,理解了原理,对掌握一种技术很关键。如果不能理解本质的东西,哪怕你在一台机器上弄好的东西,到另一台机器上也许你就不知所措了。

         还有,对自己平时常用的集成开发环境一定要很熟悉,所谓“玩转IDE”。

         总之,伴随着四次上机的结束,J2EE课程也到了尾声。四次课程上机实践让我知道了J2EE是怎么一回事,对“传说中”的JavaBean、JavaScript、JSP、JDBC、Servlet等等有了一个清晰的概念,也掌握了一些基础知识,这为以后进一步学习打下了基础。

更多相关推荐:
上机实验报告格式

网页设计实验报告院部热能学院专业热能与动力工程班级112姓名范金仓学号20xx031388一实验目的及要求1确定网站主题和网站的用途2收集资料和素材3规划网站结构和页面版式二实验环境本次实验基于Windows2...

计算机上机实验报告模板

交通与汽车工程学院实验报告课程名称课程代码学院直属系交通与汽车工程学院年级专业班学生姓名学号实验总成绩任课教师开课学院交通与汽车工程学院实验中心名称汽车交通实验中心西华大学实验报告西华大学实验报告理工类开课学院...

上机实验报告格式要求

VB上机实验报告要求1预习报告课程名称姓名实验名称班级学号实验日期指导教师一实验目的及要求本次上机实验所涉及并要求掌握的知识点二实验环境本次上机实践所使用的平台和相关软件三实验内容上机实践内容等四算法描述及实验...

C语言集中上机实验报告

重庆邮电大学移通学院C语言集中上机实验报告学生学号班级专业重庆邮电大学移通学院20xx年5月重庆邮电大学移通学院目录第一章循环311实验目的312实验要求313实验基本内容3131题目一3132题目二5第二章数...

上机实验报告

编译原理报告编译原理报告正规式转化为NFA班级19xx31班学号20xx1002284姓名李豪强指导老师刘远兴日期20xx10201编译原理报告前期准备摘要题目正规表达式NFA问题实习时间20xx1012问题描...

c++上机实验报告

实验1熟悉上机环境及C基础实验1实验目的和要求1熟悉上机环境了解VisualC60集成开发环境掌握源程序编辑程序调试查看变量程序运行2熟悉C的程序结构掌握main函数保留字变量及变量定义输入与输出流等概念3熟悉...

上机实验报告

辽宁工程技术大学上机实验报告

汇编第3次上机实验报告

第三次上机实验报告时间:20##/4/26,18:30-21:30地点:南一楼803室实验人员:一、题目输入一组有符号字数据。对该组数进行排序,按照从大到小的顺序以用户指定的进制形式输出排序后的结果。运行时:P…

人员素质测评上机实验报告

人员素质测评上机实验报告学院专业人力资源管理班级学号姓名指导老师日期20xx年1月8日一实验名称人员素质测评上机实验报告二实验时间20xx年1月6日和1月10日三实验地点南通大学10号楼商学院机房四实验手段前期...

算法上机实验报告

算法分析与设计实验报告计算机与信息工程学院实验报告填写时间20xx124第1页共8页算法分析与设计实验报告计算机与信息工程学院第2页共8页算法分析与设计实验报告计算机与信息工程学院第3页共8页算法分析与设计实验...

华科计算方法上机实验报告

计算方法实验报告专业及班级姓名学号日期20xx年6月12日一方程求根1用牛顿迭代法求解下列方程的正根1log1xx20x7468818e001求解代码牛顿迭代法的函数M文件functionxNewtnfname...

青岛理工大学c++实验上机实验报告(4)

青岛理工大学课程实验报告123456

上机实验报告(29篇)