1、J2EE实验报告本科实验报告课程名称: Java EE 编程技术 实验项目: 实验地点: 迎西校区4502机房 专业班级:软件工程 学号 : 学生姓名: 指导教师: 2012年 5月实验一 Web 应用程序开发方法一、实验目的 1熟悉NetBeans开发环境;2. 学会建立JSP文件;3. 学会创建JavaBean;4. 掌握在JSP中调用JavaBean的方法;5 学会使用集成开发环境发布Web应用程序。二、实验内容 该实验用来使同学了解使用 NetBeans IDE 来开发 Web 应用的基本方法。 同学将学习如何创建一个简单的 Web 应用, 将其部署到服务器,并在浏览器中进行浏览。 这
2、个应用使用JavaServer Pages (JSP)技术作为用户输入的界面处理,要求输入用户的姓名。然后使用 JavaBeans 组件技术在 HTTP 会话期间持久化输入的姓名,最后在另一个 JSP 页面显示用户的输入。 安装开发环境及软件 创建一个 Web 应用工程 创建与编辑 Web 应用源文件 o 创建 Java 包与 Java 源文件o 生成 Getter 与 Setter 方法o 编辑默认的 JSP 文件o 创建一个 JSP 文件 构建并运行 Web 应用 三、实验仪器设备 NetBeans IDE 7.1.2,及其 Web 与 Java EE 支持 Java SE Develop
3、ment Kit 四、操作方法与实验步骤 创建一个 Web 应用工程1. 从主菜单选择 File New Project (Ctrl-Shift-N),并在工程分类中选择 Web , 选择 Web Application,然后单击 Next。2. 第二步,在工程名输入框里输入工程名 HelloWeb。注意上下文(Context) 路径 (例如, 服务路径) 变为了 /HelloWeb。3. 规定工程路径到计算机上的任何目录。在本教程中,这个参考目录为 $PROJECTHOME.4. 选择一个想要部署该应用的服务器。您在 IDE 中注册过的服务器在此将被列出。单击 Next。5. 选择作为 Ma
4、in Project 选项 并单击 Finish。 NetBeans IDE 将创建$PROJECTHOME/HelloWeb 工程目录。 这个工程目录包含了所有的工程源文件以及元数据文件。 例如工程的 Ant 构建脚本。然后, HelloWeb 工程将在 IDE 中打开。 在 welcome 页面中,即 index.jsp, 将在源代码编辑器(Source Editor)中打开。您可以在 Files 视图窗口中看到工程文件的结构 (Ctrl-2),工程的逻辑结构将在 Project 视图窗口中出现(Ctrl-1): 创建与编辑 Web 应用源文件创建并编辑源文件是 IDE 提供的最重要的功能
5、。毕竟,这可能是程序员在工作中花费大多数时间的地方。 NetBeans IDE 提供了很多的工具让程序员能够以自己的风格作开发。创建 Java 包与 Java 源文件1. 在 Projects 窗口中,展开源代码包结点。请注意源代码包结点目前只包含了一个默认的包结点。2. 右键单击源代码包结点并选择 New Java Class。 在类名输入框中输入NameHandler并在源代码包输入框中输入 org.me.hello。单击Finish。 此时源文件NameHandler.java将在源代码编辑器中打开。3. 在源代码编辑器中,为NameHandler声明一个String类型的变量: Str
6、ing name;4. 为该类添加构造方法: public NameHandler()5. 在构造方法 NameHandler()中添加如下代码 : name = null;生成 Getter 与 Setter 方法1. 在源代码编辑器中右击 name 字段并选择 Refactor(重构) Encapsulate Fields。 封装字段对话框将打开, 列出了name 字段。注意,该字段的可见性是默认的 private,而访问器(Accessors)的可见性为 public, 这说明了该类变量的默认访问与修改方式是 private 的,无论 getter 与 setter 方法是否被分别提供为
7、 public 或 private。2. 单击 Refactor。 name 字段的 Getter 与 Setter 方法将被自动生成。类变量的默认访问将变为 private 当 getter 与 setter 方法被以 public 方式提供之后。现在,这个 Java 类应该是这样的: package org.me.hello;/* * * author nbuser */public class NameHandler private String name; /* Creates a new instance of NameHandler */ public NameHandler()
8、name = null; public String getName() return name; public void setName(String name) this.name = name; 编辑默认的 JSP 文件1. 重新在源代码编辑器中打开 index.jsp 文件。2. 打开 Palette (Ctrl-Shift-8) 窗口,它将出现在源代码编辑器的右边,展开 HTML Forms 并拖拽一个 Form 项到源代码编辑器中 标签后。然后一个 Form 将出现: 输入如下值: o Action: response.jspo Method: GETo Name: Name In
9、put Form单击 OK。 此时,一个 HTML 表单已经添加到了 index.jsp 文件中。3. 再拖一个 Text Input 项到 标签之前,然后输入如下值: o Name: nameo Type: text单击 OK。此时,一个 HTML 框被添加到了 表单里。4. 最后,拖一个 Button 项到 标签之前,然后输入如下值: o Label: OKo Type: submit单击 OK。此时,又一个 HTML 按钮被添加到了 表单里。5. 在 标签前输入 Enter your name:,然后把标签里默认的 Hello World! 更改为 Entry Form。6. 在源代码编
10、辑器中右击,并选择 Format (Alt-Shift-F) 去整理一下代码格式。现在,您的 index.jsp 文件应该是这样的: JSP Page Entry Form Enter your name: 创建一个 JSP 文件1. 在 Projects 视图窗口中,右击 HelloWeb 工程结点并选择 New JSP,JSP 文件创建向导将打开。 命名这个文件为 response, 单击 Finish。 此时,一个 response.jsp 文件结点将显示在 Projects 视图窗口中,位于 index.jsp 之下,并在源代码编辑器中打开这个新建的文件。2. 在源代码编辑器右边的 P
11、alette 窗口中,展开 JSP 并拖一个 Use Bean 项到 标签之下。 在 Insert Use Bean 对话框中输入如下的值: o ID: mybeano Class: org.me.hello.NameHandlero Scope: session单击 OK。此时, 标签已被添加到了 标签下。3. 再从 Palette 中拖一个 Set Bean Property 项到 标签之前并单击 OK。编辑 标签如下所示: 4. 更改在 标签之间的文本,如下: Hello, !5. 最后,从 Palette 中拖一个 Get Bean Property 项到 标签后。在 Insert G
12、et Bean Property 对话框中输入如下值: o Bean Name: mybeano Property Name: name单击 OK。此时,一个 标签已被添加到 标签之间了。6. 在源代码编辑器中右击,并选择 Format (Alt-Shift-F) 去整理一下您的代码格式。现在, response.jsp 文件应该是这样的: Hello, !构建并运行 Web 应用NetBeans IDE 使用 Ant 构建脚本去构建与运行Web 应用。 IDE 基于在新建工程向导时的选择生成构建脚本。1. 在 Projects 视图窗口中,右击 HelloWeb 工程结点并选择 Run (F
13、6)。 NetBeans IDE 构建这个 Web 应用并部署它到您在创建工程时指定的服务器上。 index.jsp 页面将在您的默认浏览器中打开: 2. 在文本框中输入名字,然后单击 OK。 response.jsp 页面显示如下的一个简单问候: 到此,我们结束了一个简单的 Web 应用开发。 本实验演示如何创建一个简单的 Web 应用, 将其部署到服务器,并在浏览器中进行浏览。 文中也展示了如何在应用中使用 JSP 与 JavaBeans 获取用户输入,持久化输入信息, 以及输出用户的输入数据。五、实验心得 本实验在一开始的环境搭建的时候遇到了一些问题,考虑到为了让JDK,Netbeans
14、,Tomcat三者之间更好的兼容运行,下载了JDK1.7,Netbeans 7.1.2,Tomcat 7.0。环境配置好后,实验内容的编写中按照指导书的步骤一步步操作就可以,利用Netbeans 的代码编写向导编写代码大大的减少了手动编写代码中出现的错误。通过实验理解一个WEB应用从代码的编写到生成、部署到服务器、运行的过程。深入的认识了JavaBean。它就是一个特殊的JAVA类,所有的属性成员都是私有的,创建JavaBean的实现类时系统会自动创建一个无参的构造方法,每个属性都有getXX方法和setXX方法,实现的对象的封装性。可以在JavaBean中编写事物逻辑,数据操作等代码。将业务
15、逻辑和表示逻辑分离,更好的实现代码的移植和重用。在测试的WEB服务的时候遇到问题是Tomcat无法启动,把Netbeans 自带的Tomcat删了另外加载的Tomcat也启动不了。错误是端口占用。后来果断把Tomcat全删了,用Netbeans自带的GlassFish完美启动而且完美运行。实验二 Web数据库访问一、实验目的 1. 了解MVC模式的基本原理和编程方式;2. 了解DAO模式的基本原理和编程方法;2 掌握使用JDBC访问数据库的一般方法;3 掌握MySql数据库的基本操作。二、实验内容(一)、MVC模式MVC模式是最近几年被推荐为JEE的设计平台,他主要将输入、处理和输出分开。MV
16、C即,M(Modle):主要是业务逻辑的处理,接受视图请求的数据,返回最终的处理结果。V(View):表示用户交互界面,对于Web应用来说,可以是HTML界面,也可能是XHTML、XML、AppletC(Controller):从用户接受请求,将模式与视图结合在一起,共同完成用户的请求。可以给你一段简单的代码:mvc_login.htm输入姓名:mvcdemo.jspMVCDEMOmvc_success.jsp输入成功!欢迎:光临! mvc_failure.jsp输入失败!重新登陆 MVCCheck.javapackage cn.mldn.lxh.bean ;public class MVCC
17、heck private String name ; public void setName(String name) this.name = name ; public String getName() return this.name ; / 验证 public boolean isValidate() if(this.name=null|.equals(this.name) return false ; else return true ; ;MVCServlet.javapackage cn.mldn.lxh.servlet ;import java.io.* ;import java
18、x.servlet.* ;import javax.servlet.http.* ;import cn.mldn.lxh.bean.MVCCheck ;public class MVCServlet extends HttpServlet public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException this.doPost(req,resp) ; public void doPost(HttpServletRequest req,HttpServlet
19、Response resp) throws IOException,ServletException String name = req.getParameter(uname) ; MVCCheck mc = new MVCCheck() ; / 将请求内容设置到mc对象之中 mc.setName(name) ; String path = null ; if(mc.isValidate() / 保存名字在request范围之中 req.setAttribute(name,mc.getName() ; path = mvc_success.jsp ; else path = mvc_failu
20、re.jsp ; / 进行跳转 req.getRequestDispatcher(path).forward(req,resp) ; ;/* mvc cn.mldn.lxh.servlet.MVCServlet mvc /mvcdemo.mldn */要求:创建项目,建立上面的文件,调试并运行程序,记录运行结果。输入姓名:当什么都没有输入的时候(包括空格也没有),运行结果:(二)MVC+DAO模式实现留言功能三、操作方法与实验步骤 1. 获得MVCDaoNote项目文件。2. 在NetBeans下打开项目如图所示。3. 安装MySQL数据库管理系统,并设置口令为123456。4. 进入MySQ
21、L数据库命令行方式的客户端。5. 创建note数据库,输入命令:mysqlcreate database note; mysqluse note;并运行。6. 建立表note和person。注意:note表的id字段设置为自增的,否则代码报错。把文件note.sql拷贝到d:根目录下。note.sql的内容如下:- 创建表- 用户表(登陆)、留言表- 删除表DROP TABLE person ;DROP TABLE note ;- 删除序列-DROP SEQUENCE note_sequ ;- 创建序列-CREATE SEQUENCE note_sequ ;- 创建person表CREATE
22、TABLE person( id varchar(20) not null primary key , name varchar(20) , password varchar(20) ;- 创建留言表CREATE TABLE note( id int auto_increment not null primary key , - sequence title varchar(20) not null , author varchar(20) not null , content varchar(50) not null ) ;- 插入测试数据INSERT INTO person VALUES
23、(LXH,李兴华,zzzzzz) ;INSERT INTO person VALUES (MLDN,魔乐,mmmmmm) ;insert intor person values(gbl,gaobaolu,123456);- 事务提交commit ;输入命令:mysqlsource d:/note.sql; mysqlshow tables;7. 检查数据库连接代码看是否和环境一致。8. 调试运行项目,记录运行结果。9. 修改项目部分代码,查看修改结果,思考是否和自己的想象一致。10. 体会MVC和DAO模式的好处,写下自己的感受。用户登录:登陆成功:添加留言信息:四、实验心得: 本实验内容是用
24、MVC设计模式实现的一个留言板,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,业务逻辑是独立的,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。在web开发中servlet控制器接受用户的请求(实际上是容器接受HTTP请求,
25、产生请求对象和响应对象),通过调用封装在可重用组件的模型(普通的java类),获取业务处理结果,将结果写入请求对象,并转发给视图(jsp).视图向客户提供动态页面。通过本实验了解MVC的架构工作原理,读懂留言板的的工作原理,在WEB应用中各个模块之间是通过什么实现。实验三 EJB编程一、 实验目的和要求 1 掌握EJB编程的基本方法;二、 实验内容和原理 (1). 使用会话bean(无状态,有状态)(2). 使用实体bean(cmp,bmp)(3). 消息驱动bean三、 主要仪器设备 主要软件:NetBeans IDE 6.0,及其 Web 与 Java EE 支持Java SE Devel
26、opment Kit Glassfish 3.1四、 操作方法与实验步骤 1. 创建javaEE企业应用程序NewsApp根据提示同时创建ejb模块和web模块2. 对ejb模块进行编码(1) 创建持久性单元右键ebj模块,选择“其他”。下一步(选择持久性提供器、数据源、Java事务API等)创建好的persistence.xml是(2)创建实体类NewsEntity右键ebj模块,选择“其他”。下一步:点击完成。在文件中添加2个字段并且插入getter和setter(3)创建消息驱动bean右键ebj模块,选择“其他”。下一步:点击“添加”按钮点击确定。正确的视图是:点击“完成”创建的java类的代码在其中加入下面的代码:右击,选择添加实体管理器实际添加了如下的代码:PersistenceContext(unitName = NewsApp-ejbPU)private EntityManager em;将persist方法名该为s
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1