1、 实验室资产管理系统 —查询模块 一、 开发环境 MyEclipse 8.5 + Mysql 5.09 + tomcat 6.0 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对 Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开 发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hi
2、bernate。 MySQL是一个小型关系型数据库管理系统,目前 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网 站总体拥有成本而选择了MySQL作为网站数据库。 Tomcat 是一个小型的轻量级应用服务器, 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所
3、以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和jSP容器,独立的Servlet容器是Tomcat的默认模式。 JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技 术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Jav
4、a程序段(Scriptlet)和JSP 标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 二、需求分析 2.1 可行性分析 实验室资产管理系统,基于b/s结构,运行在tomcat平台上使用MyEclipse开发的,主要使用本地计算机和网络计算机测试和使用,完全可以运行! 2.2基本功能 1、查看实验室总资产 2、查看实验室所有仪器和药品 3、搜索实验室药品和仪器 2.3 数据库设计 1、仪器表 2、药品表 三、模块设
5、计 3.1精确查询 精确查询可以输入要查询仪器或者药品的名称,也可以只输入一个字,在数据库里进行模糊查询,如果数据库中存在,则用户可以查看该仪器或者药品的信息,并且可以修改,若果没有,则显示不好意思,没有您搜索的结果!重新搜索(链接)。 代码: package com.org.control; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLExcept
6、ion; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.org.model.DateBaseUtil; import com.org.service.Filter; public class Sel
7、ectSYServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Filter filter=new Filter(); if(filter.isValue(request, response)){ response.setContentType("text/html;charset=GBK"); PrintW
8、riter out= response.getWriter(); request.setCharacterEncoding("GBK"); String ykeywords = request.getParameter("rkeywords"); if(null == rkeywords || rkeywords.equals("")){ out.println("
9、ct * from yaopin where rname like '%"+rkeywords +"%'"; System.out.println(sql); Connection conn = DateBaseUtil.getConn(); Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); rs = stmt.executeQuery(sql); if(rs.next()){ printSheBei(o
10、ut,rs); }else{ out.println("
11、nerated catch block e.printStackTrace(); } } } } 图3.11 1、如果没有输入关键字,则会出现下图: 图3.12 点击重新搜索,返回搜索页面图3.11! 2、查询出结果: 代码: public void printSheBei(PrintWriter out,ResultSet rs)throws SQLException{ out.println("
"); out.println("12、销
13、n("
| 编号 | 名称 | 数量 | 价格 | 仓库 | 总计 | 备注 |
|---|---|---|---|---|---|---|
| " +rs.getString("ynumber")+ " | "); out.println("" +rs.getString("yname")+ " | "); out.println("" +rs.getInt("ycount")+ " | " ); out.println("" +rs.getInt("yprice")+ " | "); out.println("" +rs.getString("yaddress")+ "< 15、/td>"); out.println(" | "+rs.getInt("yprice")*rs.getInt("ycount")+" | "); out.println("修改 删除 | "); out.println("
16、所有 这里可以查询所有的仪器或者药品的所有信息,用户可以从这里查看到仪器药品的信息,用来决定要不要添加仪器或者药品等。 代码: <% int pageNo =1; Connection conn=DateBaseUtil.getConn(); //定义一个页面显示的仪器数 final int PAGE_SIZE = 10; //接收传递的页数 String strPageNo = request.getParameter("pageNo");
17、 System.out.println(strPageNo); //判断页数是否为空, int totalPages = 0; if(strPageNo != null && !strPageNo.trim().equals("")) { try { pageNo = Integer.parseInt(strPageNo); } catch (NumberFormatException e) { pageNo = 1; } }
18、 if(pageNo <= 0){ pageNo=1; } System.out.println(pageNo); int startPos = (pageNo-1) * PAGE_SIZE; String sql_count="select count(*) from riqi"; String sql="select * from riqi order by id desc limit " + startPos + "," + PAGE_SIZE ; Sy
19、stem.out.println(sql); Statement stmt=null; ResultSet rs_count=null; ResultSet rs=null; try { stmt = conn.createStatement(); rs_count = stmt.executeQuery(sql_count); //获取数据库中所有的记录总数 rs_count.next(); int totalRecords=rs_count
20、getInt(1); //求出可以分为多少页 totalPages = (totalRecords + PAGE_SIZE - 1)/PAGE_SIZE; System.out.println(totalPages); if(pageNo > totalPages-1){ pageNo = totalPages-1; } rs = stmt.executeQuery(sql); %>
21、ody>
| 编号 | 名称 | 数量 | 价格 | 仓库 | 总计 |
|---|
| < 23、rs.getString("rnumber") %> |
<%=rs.getString("rname") %> | <%=rs.getInt("rcount") %> | <%=rs.getInt("rprice") %> | <%=rs.getString("raddress") %> | <%=rs.getInt("rpric 24、e")*rs.getInt("rcount") %> |
> 修改 | > 删除 |
25、aseUtil.closeStmt(stmt); DateBaseUtil.closeConn(conn); %> 第一页 上一页 下一页 最末页 <
26、/center>
%} %> 3.3注销 代码: <% HttpSession sion = request.getSession(); sion.invalidate(); %>
27、深刻的认识到数据库理论和软件开发实践关系的重要,比如在开发之前的需求分析很重要,在刚开始设计的时候就遇到这个问题,所以对这个问题的印象比加深,还有在使用SQL语句时,也会由于需求分析的不合理,导致很多问题,所以一定要花时间去设计和分析,以免到最后因为需求分析不当的原因导致系统出现很多缺陷。 在设计的过程中,又重新学习了以前的知识,很多原来不明白的知识点,再复习的过程中夜都迎刃而解了,并且更进一步巩固了掌握的知识。 本系统也有很多需要改进的地方,限于本人现在的水平有限,在以后的学习中,将会一步一步完善本系统的! 五、参考文献 《Java Web开发实战经典》李兴华 清华大学出
28、版社 2010年8月第一版 《Java Web开发实战宝典》王国辉等 清华大学出版社 2010年1月第一版 Google搜索,等资源。 2010年读书节活动方案 一、 活动目的: 书是人类的朋友,书是人类进步的阶梯!为了拓宽学生的知识面,通过开展“和书交朋友,遨游知识大海洋”系列读书活动,激发学生读书的兴趣,让每一个学生都想读书、爱读书、会读书,从小养成热爱书籍,博览群书的好习惯,并在读书实践活动中陶冶情操,获取真知,树立理想! 二、活动目标: 1、通过活动,建立起以学校班级、个人为主的班级图书角和个人小书库。 2、通过活动
29、在校园内形成热爱读书的良好风气。 3、通过活动,使学生养成博览群书的好习惯。 4、通过活动,促进学生知识更新、思维活跃、综合实践能力的提高。 三、活动实施的计划 1、 做好读书登记簿 (1) 每个学生结合实际,准备一本读书登记簿,具体格式可让学生根据自己喜好来设计、装饰,使其生动活泼、各具特色,其中要有读书的内容、容量、实现时间、好词佳句集锦、心得体会等栏目,高年级可适当作读书笔记。 (2) 每个班级结合学生的计划和班级实际情况,也制定出相应的班级读书目标和读书成长规划书,其中要有措施、有保障、有效果、有考评,简洁明了,易于操作。 (3)中队会组织一次“读书交流会”展示同学们的读书登记簿并做出相应评价。 2、 举办读书展览: 各班级定期举办“读书博览会”,以“名人名言”、格言、谚语、经典名句、“书海拾贝”、“我最喜欢的___”、“好书推荐”等形式,向同学们介绍看过的新书、好书、及书中的部分内容交流自己在读书活动中的心得体会,在班级中形成良好的读书氛围。 3、 出读书小报:






