《Java EE开发技术》实验报告模板1

校标1.jpg

JAVA EE开发技术

实验报告

次实验

实验题目JavaEE开发环境安装和配置

桂林电子科技大学

计算机科学与工程学院


1、             实验目的

①   掌握Java EE开发环境的搭配;

②   掌握创建Java EE工程的方法;

③   掌握调试和部署Java EE 工程的方法。

2、             实验内容

本次实验为第一次实验,要求每个同学单独完成本次实验所有内容。具体实验内容如下:

1.       安装JDK和NetBeans,创建Java EE的集成开发环境。

2.       安装MyEclipse,创建Java EE的集成开发环境。

3.       在NetBeans中创建一个Java EE 工程,并部署到集成服务器(Tomcat或GlassFish)上。

4.       在MyEclipse中创建一个Java EE 工程,并部署到服务器中。

5.       运行服务器,在浏览器中查看上述工程。

6.       (选做)用NetBeans导入MyEclipse建立的工程,也用MyEclispe导入NetBeans的工程,理解两种开发工具在工程组织上的不同和其优缺点。

3、             实验过程和代码


安装好jdk和myeclipese后,新建工程项目


新建工程后,查看index.jsp的代码


把新建的项目部署到服务器中


安装好jdk和Netbeans,新建工程项目


新建工程后,查看index.jsp的代码


把新建的项目部署到服务器中

关于项目工程中的web.xml中的w是否能改为大写的W做了一个测试

未改之前:



改为大写的Web.xml后

4、             实验结果分析


MyElipse的工程在浏览器查看工程的结果,结果正常

NetBeans的工程在浏览器的结果


5、             实验总结

1300330110 范明泉:

上面对于配置文件web.xml是否可以改为Web.xml做了一个小测试,结果证明web.xml是不能改为Web.xml的,原因是因为所有的的部署描述符文件的xml元素都是对大小写敏感的。

MyEclipse和NetBeans的优缺点:MyEclipse,它的速度快一点,界面也比较漂亮 如果做GUI和桌面开发和jsp,就用NetBeans, NetBeans会方便很多 而且JAVA可视化方面做的最好的显然是netbeans了,eclipse写JAVA可视化程序需要三个插件的支持,SWT,GWT和VE插件,而且效果不如NETBEANS好。

1300330129 张涛

通过本次课程设计,我感受颇多,尽管上课时也认真听了老师的讲课,但是已开始面对自己的题目时,还是有些不知所措,都不知道如何下手,后来去图书馆借了几本相关的书籍,心里在感觉有了一些底。不过,经过反复练习,我学到了很多知识,让我们能从真正意义上了解到JSP程序设计的用处,总算还是收获不少,对jsp的认识也更加的深刻了。当一个问题想了好久也无法解决时,我感到沮丧与无助。当经过努力解决了一个程序上的难题时,我感到无比的喜悦。

 

第二篇:Java EE项目开发实验报告

实验一 Struts 框架技术及应用

一、实验目的:

掌握 Struts 框架技术的原理及其在项目中的应用,掌握MVC 开发模式。

二、实验内容:

创建一个用于本次和后续 Java EE 项目的名为test 的数据库,并在数据库中创建一个名为user 的表,用于记录属于合法登录的用户信息:

create table user

{

id int auto_increment not null,

username varchar(10) not null,

password varchar(10) not null,

primary key(id)

};

1、参考教材 P25,创建一个Java EE 项目,通过JSP+JDBC 的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。

2、参考教材 P43,创建另一个Java EE 项目,通过JSP+Struts+JDBC 的方式进行登陆和判断。比较和体会使用Struts 之后与JSP+JDBC 的方式的区别。

3、在 JSP+Struts+JDBC 的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。

三、分析与设计过程:

数据库建立

1、用model1模式开发一个web登录程序,编写独立的JavaBean,通过JDBC访问test数据库中的user表来验证用户名和密码。

2、用model2模式开发一个web登录程序,页面效果与1的程序一样,改用Struts2控制页面的跳转,数据库的访问方式不变(仍然通过JDBC)。

四、测试数据与运行结果:

登录界面:

登录成功界面:

登录失败界面:

五、附录:

1、(1)连接数据库代码:

package org.easybooks.bookstore.jsbc;

import java.sql.*;

public class MySQLConnBean {   

    private Statement stmt = null;

    private Connection conn = null;

    ResultSet rs = null;

    //构造函数

    public MySQLConnBean(){}

    public void OpenConn()throws Exception

    {

        try

        {

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

            String url = "jdbc:mysql://localhost:3306/test";

            String user = "root";

            String password = "root";

            conn = DriverManager.getConnection(url,user,password);

        }

        catch(SQLException e)

        {

            System.err.println("Data.executeQuery: " + e.getMessage());

        }

    }

    //执行查询类的SQL语句,有返回集

    public ResultSet executeQuery(String sql)

    {

        rs = null;

        try

        {

            stmt = conn.createStatement(

                    ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

            rs = stmt.executeQuery(sql);

        }

        catch(SQLException e)

        {

            System.err.println("Data.executeQuery: " + e.getMessage());

        }

        return rs;

    }

    //关闭对象

    public void closeStmt()

    {

        try

        {

            stmt.close();

        }

        catch(SQLException e)

        {

            System.err.println("Date.executeQuery: " + e.getMessage());

        }

    }

    public void closeConn()

    {

        try

        {

            conn.close();

        }

        catch(SQLException e)

        {

            System.err.println("Data.executeQuery: " + e.getMessage());

        }

    }

}

(2)验证登录

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

<jsp:useBean id="MySqlBean" scope="page"

              class="org.easybooks.bookstore.jsbc.MySQLConnBean" />

              class="org.easybooks.bookstore.jsbc.MySQLConnBean" />

<html>

    <head>

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

    </head>

    <body>

        <%

            String usr=request.getParameter("username");       //获取提交的姓名

            String pwd=request.getParameter("password");       //获取提交的密码

            boolean validated=false;                    //验证成功标识

            //查询user表中的记录

            String sql="select * from user";

            MySqlBean.OpenConn();      //调用MySqlBean中加载JDBC驱动的方法

            ResultSet rs=MySqlBean.executeQuery(sql);       //取得结果集

            while(rs.next())

            {

                if((rs.getString("username").compareTo(usr)==0)

                                    &&(rs.getString("password").compareTo(pwd)==0))

                {

                    validated=true;                     //标识为true表示验证成功通过

                }

            }

            rs.close();

            MySqlBean.closeStmt();

            MySqlBean.closeConn();

            if(validated)

            {

                //验证成功跳转到welcome.jsp

        %>

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

        <%

            }

            else

            {

                //验证失败跳转到error.jsp

        %>

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

        <%

            }

        %>

    </body>

</html>

2、登录的action

package org.easybooks.bookstore.action;

import java.sql.*;

import org.easybooks.bookstore.jdbc.MySQLConnBean;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

private String username;

private String password;

public String execute()throws Exception

{

   

    String usr = getUsername();

    String pwd = getPassword();

    boolean validated=false;

    MySQLConnBean MySqlBean=new MySQLConnBean();

    String sql="select * from user";

    MySqlBean.OpenConn();

    ResultSet rs=MySqlBean.executeQuery(sql);

    while(rs.next())

    {

    if((rs.getString("username").compareTo(usr)==0)&&(rs.getString("password").compareTo(pwd)==0))

       {

           validated=true;

       }

    }

    rs.close();

    MySqlBean.closeStmt();

    MySqlBean.closeConn();

    if(validated)

    {

       return "success";

      

    }

    else

    {

       return "error";

    }  

}

public void setUsername(String username)

{

    this.username=username;

   

}

public String getUsername()

{

    return username;

}

public String getPassword()

{

    return password;

}

public  void setPassword(String password)

{

    this.password=password;

}

}

实验二 Hibernate 框架技术及应用

一、实验目的:

掌握 Hibernate 框架技术的原理及其在项目中的应用,掌握ORM(对象关系映射)原理。

二、实验内容:

创建一个用于后续 Java EE 项目的名为test 的数据库,并在数据库中创建一个名为user的表,用于记录属于合法登录的用户信息:

create table user

{

id int auto_increment not null,

username varchar(10) not null,

password varchar(10) not null,

primary key(id)

};

1、参考教材 P55,准备好开发环境所需的开发包等,创建一个Java EE 项目,通过JSP+Hibernate 的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。体会和比较与前面的实验中所采用的模式的区别。

2、参考教材 P68,准备好开发环境所需的开发包等,创建一个Java EE 项目,通过JSP+DAO+Hibernate 的方式实现用户登录和判断,并给出登陆成功或失败时相应的判断界面。比较和体会与前面的实验中所采用的模式的区别。

3、在本次的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。

三、分析与设计过程:

1、用Hibernate时,在MyEclipse中添加Hibernate开发能力。用Hibernate改写前面Java EE程序的数据访问模块,以面向对象的方式访问test数据库的user表。

2、在1的实践中,利用ORM实现了对数据库表的对象化操作,在JSP页面中应用DAO(一种Java接口)操作Hibernate生成的User对象。

四、附录:

1、验证登录的代码:

<%@page import="java.util.List"  %>

<%@ page language="java" pageEncoding="gb2312" import="org.easybooks.bookstore.factory.*,org.hibernate.*"%>

<html>

    <head>

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

    </head>

    <body>

        <%

            String usr=request.getParameter("username");       //获取提交的姓名

            String pwd=request.getParameter("password");       //获取提交的密码

            boolean validated=false;                    //验证成功标识

            //查询user表中的记录

            String sql="From User u where u.username=? and u.password=?";

            Query query=HibernateSessionFactory.getSession().createQuery(sql);

            query.setParameter(0,usr);

            query.setParameter(1,pwd);

            List users=query.list();

           

                if(users.size()!=0)

                {

                    validated=true;                     //标识为true表示验证成功通过

                }

 

           HibernateSessionFactory.closeSession();

            if(validated)

            {

                //验证成功跳转到welcome.jsp

        %>

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

        <%

            }

            else

            {

                //验证失败跳转到error.jsp

        %>

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

        <%

            }

        %>

    </body>

</html>

2、validateUser()方法代码:

package org.easybooks.bookstore.dao.impl;

import java.util.List;

import org.easybooks.bookstore.dao.*;

import org.easybooks.bookstore.factory.*;

import org.easybooks.bookstore.vo.User;

import org.hibernate.*;

public class UserDAO implements IUserDAO{

    public User validateUser(String username, String password){

       String sql="From User u where u.username=? and u.password=?";

        Query query=HibernateSessionFactory.getSession().createQuery(sql);

        query.setParameter(0,username);

        query.setParameter(1,password);

        List users=query.list();

    if(users.size()!=0){

       User user=(User)users.get(0);

       return user;

    }

    HibernateSessionFactory.closeSession();

    return null;

    }

}

实验三 Struts 和Hibernate 框架集成应用

一、实验目的:

掌握 Struts 和Hibernate 框架技术的集成过程及其各自在项目中承担的作用。

二、实验内容:

创建一个用于后续 Java EE 项目的名为test 的数据库,并在数据库中创建一个名为user的表,用于记录属于合法登录的用户信息:

create table user

{

id int auto_increment not null,

username varchar(10) not null,

password varchar(10) not null,

primary key(id)

};

1、参考教材 P75,准备好开发环境所需的开发包等,创建一个Java EE 项目,通过JSP+Struts2+DAO+Hibernate 的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。比较和体会与前面的实验中所采用的模式的区别。

2、在本次的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。

三、分析与设计过程:

JSP作为视图V显示登录、成功或失败页,Struts2作为控制器C处理页面跳转,Hibernate用做数据模型M,它与前台程序的接口以DAO形式提供。

四、附录:

LoginAction类的代码:

package org.easybooks.bookstore.action;

import org.easybooks.bookstore.dao.*;

import org.easybooks.bookstore.dao.impl.*;

import org.easybooks.bookstore.vo.User;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{

    private String username;

    private String password;

    //处理用户请求的execute方法

    public String execute()throws Exception{

       boolean validated=false;

       IUserDAO userDAO =new UserDAO();

       User user=userDAO.validateUser(getUsername(), getPassword());

       if(user!=null){

           validated=true;

       }

       if(validated){

           //验证成功返回字符串“success”

           return SUCCESS;

       }

       else

       {

           //验证失败返回字符串“error”

           return ERROR;

       }

    }

    public String getUsername() {

       return username;

    }

    public void setUsername(String username) {

       this.username = username;

    }

    public String getPassword() {

       return password;

    }

    public void setPassword(String password) {

       this.password = password;

    }

}

实验四 Spring 和Hibernate 框架集成应用

一、实验目的:

掌握 Spring 和Hibernate 框架技术的集成过程及其各自在项目中承担的作用,掌握控制反转、依赖注入、面向方面编程(AOP)等的思想。

二、实验内容:

创建一个用于后续 Java EE 项目的名为test 的数据库,并在数据库中创建一个名为user的表,用于记录属于合法登录的用户信息:

create table user

{

id int auto_increment not null,

username varchar(10) not null,

password varchar(10) not null,

primary key(id)

};

1、参考教材 P88,准备好开发环境所需的开发包等,创建一个Java EE 项目,通过JSP+Spring+DAO+Hibernate 的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。比较和体会与前面的实验中所采用的模式的区别。

2、在本次的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。

三、分析与设计过程:

将Spring与Hibernate集成一起开发Web登录页程序,程序功能和页面效果同前,但要求用Spring来管理Hibernate和DAO组件。

四、附录:

1、validateUser()方法的代码

package org.easybooks.bookstore.dao.impl;

import java.util.List;

import org.easybooks.bookstore.dao.*;

import org.easybooks.bookstore.vo.User;

import org.hibernate.*;

public class UserDAO extends BaseDAO implements IUserDAO{

   public User validateUser(String username,String password){

       String sql="from User u where u.username=? and u.password=?";

       Session session=getSession();

       Query query=session.createQuery(sql);

       query.setParameter(0, username);

       query.setParameter(1, password);

       List users=query.list();

       if(users.size()!=0)

       {

          User user=(User)users.get(0);

          return user;

       }

       session.close();

       return null;

   }

}

2、applicationContext.xml文件添加代码:

<bean id="baseDAO" class="org.easybooks.bookstore.dao.BaseDAO">

         <property name="sessionFactory">

            <ref bean="sessionFactory"/>

         </property>

       </bean>

       <bean id="userDAO" class="org.easybooks.bookstore.dao.impl.UserDAO" parent="baseDAO"/>

3、validate.jsp文件代码如下:

<%@ page language="java" pageEncoding="gb2312" import="org.springframework.context.*,org.springframework.context.support.*,org.easybooks.bookstore.dao.*,org.easybooks.bookstore.dao.impl.*"%>

<html>

    <head>

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

    </head>

    <body>

        <%

            String usr=request.getParameter("username");       //获取提交的姓名

            String pwd=request.getParameter("password");       //获取提交的密码

            boolean validated=false;                    //验证成功标识

            ApplicationContext context=new FileSystemXmlApplicationContext("file:D:/MyEclipse9_Workspace/jsp_spring_dao_hibernate/src/applicationContext.xml");

            IUserDAO userDAO=(IUserDAO)context.getBean("userDAO");

            //直接使用持久层封装好了的验证功能

           

                if(userDAO.validateUser(usr,pwd)!=null)

                {

                    validated=true;                     //标识为true表示验证成功通过

                }

            if(validated)

            {

                //验证成功跳转到welcome.jsp

        %>

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

        <%

            }

            else

            {

                //验证失败跳转到error.jsp

        %>

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

        <%

            }

        %>

    </body>

</html>

实验五 Struts 和Spring 框架集成应用

一、实验目的:

掌握 Struts 和Spring 框架技术的集成过程及其各自在项目中承担的作用。

二、实验内容:

创建一个用于后续 Java EE 项目的名为test 的数据库,并在数据库中创建一个名为user的表,用于记录属于合法登录的用户信息:

create table user

{

id int auto_increment not null,

username varchar(10) not null,

password varchar(10) not null,

primary key(id)

};

1、参考教材 P99,准备好开发环境所需的开发包等,创建一个Java EE 项目,通过JSP+Struts2+Spring+JDBC 的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。比较和体会与前面的实验中所采用的模式的区别。

2、在本次的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。

三、分析与设计过程:

开发一个Web登录页程序,程序功能和页面效果同前,但要求用Spring来管理Struts2的控制器。

四、附录:

1、修改web.xml内容:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <filter>

    <filter-name>struts2</filter-name>

    <filter-class>

       org.apache.struts2.dispatcher.FilterDispatcher

    </filter-class>

  </filter>

  <filter-mapping>

    <filter-name>struts2</filter-name>

    <url-pattern>/*</url-pattern>

  </filter-mapping>

    <listener>

    <listener-class>

    org.springframework.web.context.ContextLoaderListener

    </listener-class>

    </listener>

    <context-param>

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

    <param-value>

    /WEB-INF/classes/applicationContext.xml

    </param-value>

    </context-param>

     <display-name></display-name>

  <welcome-file-list>

    <welcome-file>login.jsp</welcome-file>

  </welcome-file-list>

</web-app>

2、创建struts.properties文件:

struts.objectFactory=spring

3、注册Action组件:

<?xml version="1.0" encoding="UTF-8"?>

<beans

    xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:p="http://www.springframework.org/schema/p"

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="Login" class="org.easybooks.bookstore.action.LoginAction"/>

</beans>

4、struts.xml文件作如下修改:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>

<package name="struts" extends="struts-default">

<action name="Login" class="Login">

<result name="success">/welcome.jsp</result>

<result name="error">/error.jsp</result>

    </action>

  </package>

</struts>   

实验六 SSH 多框架整合应用

一、实验目的:

掌握 SSH 多框架整合的过程及其各自在项目中承担的作用。

二、实验内容:

创建一个用于后续 Java EE 项目的名为test 的数据库,并在数据库中创建一个名为user的表,用于记录属于合法登录的用户信息:

create table user

{

id int auto_increment not null,

username varchar(10) not null,

password varchar(10) not null,

primary key(id)

};

1、参考教材 P103,准备好开发环境所需的开发包等,创建一个Java EE 项目,通过JSP+Struts2+Spring+DAO+Hibernate 整合应用的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。比较和体会与前面的实验中所采用的模式的区别。

2、在本次的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。

三、分析与设计过程:

   用3个框架(Struts2/Spring/Hibernate)整合起来开发Web登录程序,程序功能页面效果同前,要求采用前面实验所描述的方式架构这个系统。

四、附录:

1、配置web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <filter>

       <filter-name>struts2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

    </filter>

    <filter-mapping>

       <filter-name>struts2</filter-name>

       <url-pattern>/*</url-pattern>

    </filter-mapping>

    <listener>

    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

    <context-param>

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

       <param-value>

    /WEB-INF/classes/applicationContext.xml

    </param-value>

    </context-param>

    <welcome-file-list>

       <welcome-file>login.jsp</welcome-file>

    </welcome-file-list>

</web-app>

2、实现控制器Action,LoginAction.java代码如下:

package org.easybooks.bookstore.action;

import org.easybooks.bookstore.dao.*;

import org.easybooks.bookstore.vo.User;

import com.opensymphony.xwork2.ActionSupport;

import org.springframework.context.*;

import org.springframework.context.support.*;

public class LoginAction extends ActionSupport{

    private User user;

    //处理用户请求的execute方法

    public String execute()throws Exception{

       boolean validated=false;

       ApplicationContext context=new FileSystemXmlApplicationContext("file:");

       IUserDAO userDAO=(IUserDAO)context.getBean("userDAO");

       User u=userDAO.validateUser(user.getUsername(), user.getUsername());

       if(u!=null)

       {

           validated=true;

       }

       if(validated)

       {

           //验证成功返回字符串"success"

           return SUCCESS;

       }

       else

       {

           //验证失败返回字符串"error"

           return ERROR;

       }

    }

    public User getUser() {

       return user;

    }

    public void setUser(User user) {

       this.user = user;

    }

}

3、注册组件,applicationContext.xml文件添加代码:

<bean id="baseDAO" class="org.easybooks.bookstore.dao.BaseDAO">

       <property name="sessionFactory" ref="sessionFactory"/>

    </bean>

    <bean id="userDAO" class="org.easybooks.bookstore.dao.impl.UserDAO" parent="baseDAO"/>

    <bean id="login" class="org.easybooks.bookstore.action.LoginAction"/>

相关推荐