当前位置:文档之家› java(J2EE)课程设计报告 (1)

java(J2EE)课程设计报告 (1)

附件二

烟台工程职业技术学院

系专业级

课程设计(论文)

题目: 会议管理设计

姓名学号

指导教师(签名)

二○一一年七月一十五日

会议管理设计

【摘要】无论任何组织,为了实现本单位的工作目的,经常组织相关人员一起讨论、商议,形成了许多文字资料,由于资料的杂乱和繁多不便于管理,所以该会议管理系统是实现记录会议的基本信息,开完会后记录会议的讨论结果,进行备案,供以后查询使用。给组织的管理带来极大方便,且不易出错,可长期储存,查询也方便。

前言

本系统是在Windows XP下,以SQL Server 2000为数据库开发平台,Tomcat5网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发的。主要采用jsp+struts+jdbc的开发模式,利用struts的框架结构和

odbc:jdbc桥连的方法实现会议信息的增加、删除和修改,struts是一种基于sun公司的j2ee技术的一种框架,其主要技术还是通过servlet和jsp技术来实现的。它为web应用开发提供了成熟的开发框架,是许多java程序员开发经验的总结,特别适用于大型javaweb系统的开发,掌握struts后可以大大提高开发效率。

一、程序功能模块设计

图1-1 程序功能模块图

(一)添加信息:主要实现有新会议需要记录时,向数据库中进行插入。

(二)修改信息:主要实现对已有会议的查询、更新、删除。

(三)管理员注册:由于不同部门的会议互不相同,所以允许多个管理员,实现管理员的注册。

(四)管理员登录:进入本系统必须有合法的帐号,才能进入。

二、核心模块程序流程图

本系统的核心模块主要是修改已有会议的内容,首先通过查询关键字,和查询类型对已有会议进行搜索,查询类型分为会议主题、会

议类型、会议状态三种,查询得到会议的基本信息,如果想对会议内

容进行修改或删除操作则点击“更新”,链接到详细信息的界面,显

示会议的全部内容,并可以进行相应操作。

本系统的主要功能模块还包括添加会议信息,只要输入想要添加的内容就可以输入了,成功会显示提示信息。

三、核心模块程序源码

(一)添加会议

该功能的实现过程是从insert.jsp页面中向InsertForm.java中传

入输入的数据,并在InsertAction里实现数据插入。InsertAction

中的代码如下:

InsertForm insertForm = (InsertForm) form;

meeting me=new meeting();

value(form);

String str="insert into base values('"+title+"','"+type+"','"+state+"')";

int i=me.executeUpdate(str);

String str1="insert into taile

values('"+time+"','"+local+"','"+people+"', '"+neinong+"','"+result+"','"+leader+"')";

int j=me.executeUpdate(str1);

if(j!=o)return mapping.findForward("success");

else return null;

注释:value(form);方法是实现从InsertForm.java中获取值。

主要界面如下图1-2所示:

图1-2 添加会议界面

(二)修改已有会议内容

1.查询会议信息

在search.jsp页面中以post的方式将查询关键字和查询类型传送到search_base.jsp页面中,通过对查询类型的判断来决定不

同的查询语句,调用com.meet.bean.meeting中的executeFind()

方法进行查询,显示结果集。主要代码如下所示:

String key=request.getParameter("key"); /获取查询关键字

String type=request.getParameter("type");/获取查询类型

String str=null;

ResultSet rs=null;

int i=0;

if("1".equalsIgnoreCase(type)) //判断查询类型

str="select * from base where meet_title like '%"+key+"%'";

else if("2".equals(type))

str="select * from base where meet_type like '%"+key+"%'";

else if("3".equalsIgnoreCase(type))

str="select * from base where meet_state like '%"+key+"%'";

else str="select * from taile where meet_ID=1001";

rs=meet.executeFind(str); //执行查询语句

i=rs.getRow();

while(rs!=null&&rs.next()) //输出查询结果

{ int id=rs.getInt("meet_ID");

out.println(""+rs.getInt("meet_ID")+""); out.println(""+rs.getString("meet_title")+""); out.println(""+rs.getString("meet_type")+""); out.println(""+rs.getString("meet_state")+""); }

主要界面如下:

图1-3查询会议信息

图1-4显示基本信息

2.更新会议信息

当点击更新这个超链接时,向detaile.jsp页传送id,id的值为所选择会议的ID号,通过这个ID号对会议信息进行更新,和添加信息一样,更新的值通过detaileForm获得,detaileAction中实现更新操作,主要代码如下:

DetaileForm detaile = (DetaileForm) form;

HttpSession session=request.getSession(true);

meeting meet=new meeting();

//通过session变量获得ID号

String id=session.getValue("ID").toString();

int meet_ID=Integer.valueOf(id).intValue();

String str="update base set

meet_title='"+detaile.getTitle()+"',meet_type='"+detaile.get Type()+"',meet_state='"+detaile.getState()+"' where

meet_ID='"+meet_ID+"'";

int i=meet.executeUpdate(str);//执行更新

if(i==1)

return mapping.findForward("succ");

else return mapping.findForward("faile");

特别注意:将import javax.servlet.http.HttpSession;

import com.meet.bean.meeting;

import java.sql.*;

这三个包引入,

更新界面如下所示:

图1-4更新会议信息

3.删除会议

该删除操作只是通过一个超链接,调用deleteAction,并传送删除关键字,在deleteAction中获取关键字并执行删除操作,主要实现方法如下:

在页面中的代码:

href="<%=request.getContextPath()%>/delete.do?id=<%=mee t_id%>">删除

deleteAction中的代码:

meeting meet=new meeting();

String id=request.getParameter("id");

int meet_id=Integer.valueOf(id).intValue();

String str="delete from base where meet_ID="+meet_id+"";

String str1="delete from taile where

meet_ID="+meet_id+"";

int base=meet.executeUpdate(str);

int taile=meet.executeUpdate(str1);

if(base!=0&&taile!=0)

{

return mapping.findForward("success");

}

return mapping.findForward("false");

struts-config.xml中的代码:

type="com.meet.struts.action.DeleteAction" >

四、结论

通过一个月对J2EE的学习,对MyEclipse软件的各项基本功能能熟练掌握,主要了解了两种开发方法,一种是Servlet+JavaBean+Jsp

的方式,各一种是Struts+Jsp+Jdbc的方法,我的系统主要采用后一

种方式,所以对此方法有了更深的了解,我认为Struts主要采用中央

控制器的方式,无论是从哪得来的数据都通过struts-config.xml进

行分配,在Struts中主要包括Form和Action两个方面,Form主要

实现数据的获取和传输,同时可实现页面验证,而Action则主要实现

后台处理,采用Struts开发框架的最大好处是结构清晰,代码重用性

好,并且使页面简单,容易维护。在本次实验中我应用了Struts的部

分功能,但对Struts框架并没有一个全面的了解,Struts框架的好

处并没有充分的发挥,这应该算是比较失败的地方。

五、结束语

在这次课程设计中,遇到过很多的问题,有些甚至是没有学过的,但是经过询问老师,和同学一起讨论与网上搜索都成功解决了问题。

首先感谢陈娅冰老师的指导,也感谢帮助我的同学,感谢网上的提供相关知识的朋友,在你们的帮助下终于完成了课程设计,没有大家的帮助,完全靠自己的力量完成是很困难的。

六、参考文献

[1] 郑文君.Ebooks案例 Ebuy案例

[2] Decoder.JSP技术揭秘.清华大学出版社,2001.11.

附录:程序代码

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import https://www.doczj.com/doc/732243869.html,ng.*;;

public class meeting {

private String dbDriver = "sun.jdbc.odbc.JdbcOdbcDriver";

private String url = "jdbc:odbc:meeting";

private String user = "sa";

private String password = "";

private Connection conn ;

private Statement st ;

private ResultSet rs ;

public meeting(){

try {

Class.forName(dbDriver);

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

System.out.println("success");

}catch (ClassNotFoundException e) {

e.printStackTrace();

}catch (SQLException e) {

e.printStackTrace();

}

}

public ResultSet executeFind(String sql)

{

try {

st =

conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.C ONCUR_UPDATABLE);

rs = st.executeQuery(sql);

} catch (SQLException e) {

e.printStackTrace();

}

return rs;

}

/*

* **

* SQL更新方法,返回更新的记录数

* @param sql

* @return int

*/

public int executeUpdate(String sql) {

int i = 0;

try {

st =

conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.C ONCUR_UPDATABLE);

i = st.executeUpdate(sql);

} catch (SQLException e) {

e.printStackTrace();

}

return i;

}

public String codeToString (String str)

{

String s=str;

try

{ byte tb[]=s.getBytes("iso-8859-1");

s=new String (tb);

return s;

}

catch(Exception e)

{ e.printStackTrace();}

return s;

}

}

烟台工程职业技术学院

课程(设计)成绩评定评分表

90分(含90分)以上记为优秀,80分(含80分)以上为良好,70分(含70分)以上记为中等,60分(含60分)以上记为及格,60分以下记为不及格

相关主题
文本预览
相关文档 最新文档