十:javaee会议管理系统实现过程之会议室管理功能的代码(完整详细有注释)

目录

1.Model层实现

2.查看所有会议室

3.查看详情并修改

4.添加会议室


 

1.Model层实现

业务逻辑数据层,

VO/DAO/Service

vo类

package com.meeting.vo;

public class MeetingRoom {
	private Integer roomid;
	private Integer roomnum;
	private Integer capacity;//容量
	private String roomname;//名称
	private String  status;//状态:启用/停用
	private String description;//描述
	
	public MeetingRoom() {
		super();
	}
	
	public MeetingRoom(Integer roomid) {
		super();
		this.roomid = roomid;
	}
	
	public MeetingRoom(Integer roomnum, String roomname, Integer capacity,String status, String description) {
		super();
	
		this.roomnum = roomnum;
		this.capacity = capacity;
		this.roomname = roomname;
		this.status = status;
		this.description = description;
	}
	
	public MeetingRoom(Integer roomid, Integer roomnum, String roomname, Integer capacity,
			String status, String description) {
		super();
		this.roomid = roomid;
		this.roomnum = roomnum;
		this.capacity = capacity;
		this.roomname = roomname;
		this.status = status;
		this.description = description;
	}
	public Integer getRoomid() {
		return roomid;
	}
	public void setRoomid(Integer roomid) {
		this.roomid = roomid;
	}
	public Integer getRoomnum() {
		return roomnum;
	}
	public void setRoomnum(Integer roomnum) {
		this.roomnum = roomnum;
	}
	public Integer getCapacity() {
		return capacity;
	}
	public void setCapacity(Integer capacity) {
		this.capacity = capacity;
	}
	public String getRoomname() {
		return roomname;
	}
	public void setRoomname(String roomname) {
		this.roomname = roomname;
	}
	public String getStatus() {
		return status;
	}
	public void setStatus(String status) {
		this.status = status;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	
	@Override
	public String toString() {
		return "MeetingRoom [roomid=" + roomid + ", roomnum=" + roomnum
				+ ", capacity=" + capacity + ", roomname=" + roomname
				+ ", status=" + status + ", description=" + description + "]";
	}
	
	
}

DAO类

package com.meeting.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.meeting.util.ConnectionFactory;
import com.meeting.vo.Employee;
import com.meeting.vo.MeetingRoom;

public class MeetingRoomDAO {
//	DAO类关联连接工厂类
	 private Connection conn;
	 
	 /**
	  * 添加一个会议室,status默认为0,表示未被占用。当为1时,表示被占用
	  * @param meetingroom
	  */
	 public void insert(MeetingRoom meetingroom){
		  conn=ConnectionFactory.getConnection();
		  String sql="insert into meetingroom"
				  +
					"(roomnum,roomname,capacity,status,description)" +
					" values(?,?,?,?,?)";
		  try {		
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setInt(1,meetingroom.getRoomnum());
			pstmt.setString(2,meetingroom.getRoomname());
			pstmt.setInt(3,meetingroom.getCapacity());
			pstmt.setString(4,meetingroom.getStatus());
			pstmt.setString(5,meetingroom.getDescription());

			pstmt.executeUpdate();	
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			ConnectionFactory.closeConnection();
		}	  
	  }
	
	 /**
	  * 根据ID查询会议室
	  * @param roomid
	  * @return
	  */
	 public MeetingRoom selectByRoomid(int roomid){
		 conn=ConnectionFactory.getConnection();
		 MeetingRoom meetingroom=null;	
		 try {
			 PreparedStatement st=null;
			String sql="select * from meetingroom where roomid="+roomid+"";
	 		st = conn.prepareStatement(sql);
			ResultSet rs =st.executeQuery(sql);
			if(rs.next()==true){
				meetingroom=new MeetingRoom();
				meetingroom.setRoomid(Integer.parseInt(rs.getString("roomid")));
				meetingroom.setRoomnum(Integer.parseInt(rs.getString("roomnum")));
				meetingroom.setCapacity(Integer.parseInt(rs.getString("capacity")));
				meetingroom.setRoomname(rs.getString("roomname"));
				meetingroom.setStatus(rs.getString("status"));
				meetingroom.setDescription(rs.getString("description"));		
			}
		 } catch (SQLException e) {
			    e.printStackTrace();
		}finally{
			ConnectionFactory.closeConnection();
		}
		 return meetingroom;
	 }
	 
	 /**
	  * 查询所有会议室
	  * @return
	  */
	 public List<MeetingRoom> selectAllMeetingRooms(){
		 conn=ConnectionFactory.getConnection();
		 List<MeetingRoom> list=new ArrayList<MeetingRoom>();
		 MeetingRoom meetingroom=null;	
		 try {
			 PreparedStatement st=null;
			String sql="select * from meetingroom ";
	 		st = conn.prepareStatement(sql);
			ResultSet rs =st.executeQuery(sql);
			while(rs.next()){
				meetingroom=new MeetingRoom();
				meetingroom.setRoomid(Integer.parseInt(rs.getString("roomid")));
				meetingroom.setRoomnum(Integer.parseInt(rs.getString("roomnum")));
				meetingroom.setCapacity(Integer.parseInt(rs.getString("capacity")));
				meetingroom.setRoomname(rs.getString("roomname"));
				meetingroom.setStatus(rs.getString("status"));
				meetingroom.setDescription(rs.getString("description"));	
				
				list.add(meetingroom);
			}
		 } catch (SQLException e) {
			    e.printStackTrace();
		}finally{
			ConnectionFactory.closeConnection();
		}
		 return list;
	 }
	 
	 /**
	  * 根据ID更新会议室
	  * @param meetingroom
	  */
	 public void updateMeetingroom(MeetingRoom meetingroom){
		  conn=ConnectionFactory.getConnection();
		  String sql="update meetingroom set roomnum=?,roomname=?,capacity=?,status=?,description=? where roomid="+meetingroom.getRoomid();
		  try {		
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setInt(1, meetingroom.getRoomnum());
			pstmt.setString(2, meetingroom.getRoomname());
			pstmt.setInt(3, meetingroom.getCapacity());
			pstmt.setString(4, meetingroom.getStatus());
			pstmt.setString(5,meetingroom.getDescription());
			pstmt.executeUpdate();	
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			ConnectionFactory.closeConnection();
		}	  
	  }
	 
	 /**
	  * 根据ID更新会议室状态
	  * 当被预定的时候,会更改状态为被占用
	  * @param roomid
	  * @param status
	  */
	 public void updateMeetingroomStatus(int roomid,String status){
		  conn=ConnectionFactory.getConnection();
		  String sql="update meetingroom set status=? where roomid="+roomid;
		  try {		
			PreparedStatement pstmt = conn.prepareStatement(sql);	
			pstmt.setString(1, status);
			pstmt.executeUpdate();	
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			ConnectionFactory.closeConnection();
		}	  
	  }
	 
	 public static void main(String[] args){
		 MeetingRoomDAO dao=new MeetingRoomDAO();
		 MeetingRoom meetingroom=new MeetingRoom(5,3301,"第XXX会议室",120,"1","最小会议室???");
//		 dao.insert(meetingroom);
//		 dao.updateMeetingroom(meetingroom);
//		 dao.updateMeetingroomStatus(5, "100");
//		 
//		 System.out.println(dao.selectByRoomid(6));
		 
		 List<MeetingRoom> list=dao.selectAllMeetingRooms();
		 for(MeetingRoom room:list){
			 System.out.println(room);
		 }
	 }
}

 

service类

package com.meeting.service;

import java.util.List;

import com.meeting.dao.MeetingRoomDAO;
import com.meeting.vo.MeetingRoom;

public class MeetingRoomService {

	private MeetingRoomDAO dao=new MeetingRoomDAO();
	//一共四个方法
	
	/**
	 * 查询所有会议室
	 * @return
	 */
	public List<MeetingRoom> viewAllMeetingRooms(){
		return dao.selectAllMeetingRooms();
	}
	
	/**
	 * 根据id查询会议室
	 * @param roomid
	 * @return
	 */
	public MeetingRoom viewOneMeetingRoom(int roomid){
		return dao.selectByRoomid(roomid);
	}
	
	/**
	 * 添加会议室
	 * @param meetingroom
	 */
	public void addMeetingRoom(MeetingRoom meetingroom){
		dao.insert(meetingroom);
	}
	
	/**
	 * 根据id更新会议室状态
	 * @param meetingroom
	 */
	public void updateMeetingRoom(MeetingRoom meetingroom){
		dao.updateMeetingroom(meetingroom);
	}
}

 

2.查看所有会议室

写一个新的servlet类

ViewAllMeetingRoomsServlet

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		MeetingRoomService service=new MeetingRoomService();
		//存结果集
		List<MeetingRoom> list=service.viewAllMeetingRooms();
		request.setAttribute("meetingroomsList", list);
		request.getRequestDispatcher("allmeetingrooms.jsp").forward(request, response);
	}

新建allmeetingrooms.jsp

<%@ page language="java" import="java.util.*,com.meeting.vo.*"
	pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>CoolMeeting会议管理系统</title>
<link rel="stylesheet" href="styles/common03.css" />
</head>
<body>

	<div class="page-content">
		<div class="content-nav">会议预定 > 查看会议室</div>
		<table class="listtable">
			<caption>所有会议室:</caption>
			<tr class="listheader">
				<th>门牌编号</th>
				<th>会议室名称</th>
				<th>容纳人数</th>
				<th>当前状态</th>
				<th>操作</th>
			</tr>
			<c:forEach var="room" items='${requestScope.meetingroomsList}'>
				<tr>
					<!-- 门牌编号 -->
					<td>${room.roomnum}</td>
					<!-- 会议室名称 -->
					<td>${room.roomname}</td>
					<!-- 容纳人数 -->
					<td>${room.capacity }</td>
					<!-- 当前状态 -->
					<!--0表示可用  -->
					<c:if test="${room.status eq 0}">
						<td>可用</td>
					</c:if>
					<!--1表示不可用  -->
					<c:if test="${room.status eq 1}">
						<td>不可用</td>
					</c:if>
					<td>
						<!-- 操作 --> <a class="clickbutton" href="#">查看详情</a>
					</td>
				</tr>
			</c:forEach>

		</table>
	</div>

	<div class="page-footer">
		<hr />
		更多问题,欢迎联系<a href="mailto:webmaster@eeg.com">管理员</a> <img
			src="images/footer.png" alt="CoolMeeting" />
	</div>
</body>
</html>

adminleft.jsp

成功

 

3.查看详情并修改

根据会议室id进行查询

1.创建一个新的Servlet类

package com.meeting.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.meeting.service.MeetingRoomService;
import com.meeting.vo.MeetingRoom;

public class ViewOneMeetingRoomServlet extends HttpServlet {

	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request,response);
	}

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//得到roomid
		int roomid=Integer.parseInt(request.getParameter("roomid"));
		//调用方法
		MeetingRoomService service =new MeetingRoomService();
		//把room
		MeetingRoom room=service.viewOneMeetingRoom(roomid);
		request.setAttribute("room", room);
		request.getRequestDispatcher("meetingroomdetail.jsp").forward(request, response);
		
	}

}

2.修改meetingroomdetail.jsp   用JSTL+EL来显示会议室信息

<%@ page language="java"
	import="java.util.*,com.meeting.vo.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<html>
    <head>
        <title>CoolMeeting会议管理系统</title>
        <link rel="stylesheet" href="styles/common03.css"/>
    </head>
    <body>
       
            <div class="page-content">
                <div class="content-nav">
                    会议预定 > 修改会议室信息
                </div>
                <form action="UpdateMeetingRoomServlet" method="post">
                    <fieldset>
                        <legend>会议室信息</legend>
                        <table class="formtable">
                        
                            <tr>
                                <td>门牌号:</td>
                                <td>
                                <!-- 隐藏表单域 -->
                                    <input type="hidden" name="roomid" value='${requestScope.room.roomid}'>
                                    <input id="roomnumber" name="roomnum" type="text"  maxlength="10" value='${requestScope.room.roomnum}'/>
                                </td>
                            </tr>
                            <tr>
                                <td>会议室名称:</td>
                                <td>
                                    <input id="roomname" name="roomname" type="text" maxlength="20" value='${requestScope.room.roomname}'/>
                                </td>
                            </tr>
                            <tr>
                                <td>最多容纳人数:</td>
                                <td>
                                    <input id="roomcapacity" name="capacity" type="text" value='${requestScope.room.capacity}'/>
                                </td>
                            </tr>
                            <tr>
                                <td>当前状态:</td>
                                <td>
                                <c:if test="${requestScope.room.status eq 0 }">
                                    <input type="radio" id="status" name="status" checked="checked" value="0"/><label for="status">可用</label>
                                    <input type="radio" id="status" name="status" value="1"/><label for="status" >不可用</label>
                     			</c:if>
                     			
                     			  <c:if test="${requestScope.room.status eq 1 }">
                                    <input type="radio" id="status" name="status"  value="0"/><label for="status">可用</label>
                                    <input type="radio" id="status" name="status" checked="checked" value="1"><label for="status" >不可用</label>
                     			</c:if>
                                </td>
                            </tr>
                            <tr>
                                <td>备注:</td>
                                <td>
                                    <textarea id="description"  name="description" maxlength="200" rows="5" cols="60" >${requestScope.room.description}</textarea>
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" class="command">
                                    <input type="submit" value="确认修改" class="clickbutton"/>
                                    <input type="button" class="clickbutton" value="返回" onclick="window.history.back();"/>
                                </td>
                            </tr>
                        </table>
                    </fieldset>
                </form>
            </div>
      
        <div class="page-footer">
            <hr/>
            更多问题,欢迎联系<a href="mailto:webmaster@eeg.com">管理员</a>
            <img src="images/footer.png" alt="CoolMeeting"/>
        </div>
    </body>
</html>

3.修改allmeetingrooms.jsp 的"查看详情" 这里加一个url

4.创建UpdateMeetingRoomServlet  显示根据id更新当前的会议室

package com.meeting.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.meeting.service.MeetingRoomService;
import com.meeting.vo.MeetingRoom;

public class UpdateMeetingRoomServlet extends HttpServlet {

	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request,response);
	}

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		//查看会议室-查看详情-确认修改功能
		//获取会议室编号,门牌号,容纳人数
		int roomid=Integer.parseInt(request.getParameter("roomid"));
		int roomnum=Integer.parseInt(request.getParameter("roomnum"));
		int capacity=Integer.parseInt(request.getParameter("capacity"));
		//获取会议室名称,状态,说明
		String roomname=request.getParameter("roomname");
		String status=request.getParameter("status");
		String description=request.getParameter("description");
		//调用方法
		MeetingRoomService service=new MeetingRoomService();
		service.updateMeetingRoom(new MeetingRoom(roomid,roomnum,roomname,capacity,status,description));
		//跳转页面
		request.getRequestDispatcher("ViewAllMeetingRoomsServlet").forward(request, response);
	}

}

5.meetingroomdetail.jsp  为了可以使用roomid,使用hidden字段来保存,通过表单提交

 

配置web.xml

 

4.添加会议室

 

1.创建AddMeetingRoomServlet类

把输入的数据库信息添加到数据库中

然后跳转到ViewAllMeetingRoomsServlet显示会议室列表

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		//取出输入的信息
		int roomnum=Integer.parseInt(request.getParameter("roomnum"));
		int capacity=Integer.parseInt(request.getParameter("capacity"));
		String roomname=request.getParameter("roomname");
		String status=request.getParameter("status");
		String description=request.getParameter("description");
		//调用addMeetingRoom()方法
		MeetingRoomService service=new MeetingRoomService();
		service.addMeetingRoom(new MeetingRoom(roomnum,roomname,capacity,status,description));
		//跳转页面
		request.getRequestDispatcher("ViewAllMeetingRoomsServlet").forward(request, response);
	}

2.新增addmeetingroom.jsp

form表单提交到AddMeetingRoomServlet

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<html>
    <head>
        <title>CoolMeeting会议管理系统</title>
        <link rel="stylesheet" href="styles/common03.css"/>
    </head>
    <body>
        
            <div class="page-content">
                <div class="content-nav">
                    会议预定 > 添加会议室
                </div>
                <form method="post" action="AddMeetingRoomServlet">
                    <fieldset>
                        <legend>会议室信息</legend>
                        <table class="formtable">
                            <tr>
                                <td>门牌号:</td>
                                <td>
                                    <input id="roomnumber" name="roomnum" type="text" placeholder="例如:201" maxlength="10"/>
                                </td>
                            </tr>
                            <tr>
                                <td>会议室名称:</td>
                                <td>
                                    <input id="roomname"  name="roomname" type="text" placeholder="例如:第一会议室" maxlength="20"/>
                                </td>
                            </tr>
                            <tr>
                                <td>最多容纳人数:</td>
                                <td>
                                    <input id="roomcapacity" name="capacity" type="text" placeholder="填写一个正整数"/>
                                </td>
                            </tr>
                            <tr>
                                <td>当前状态:</td>
                                <td>
                                    <input type="radio" id="status" name="status" checked="checked" value="0"/><label for="status">可用</label>
                                    <input type="radio" id="status" name="status" value="1"/><label for="status" >不可用</label>
                                   
                                </td>
                            </tr>
                            <tr>
                                <td>备注:</td>
                                <td>
                                    <textarea id="description" name="description" maxlength="200" rows="5" cols="60" placeholder="200字以内的文字描述"></textarea>
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" class="command">
                                    <input type="submit" value="添加" class="clickbutton"/>
                                    <input type="reset" value="重置" class="clickbutton"/>
                                </td>
                            </tr>
                        </table>
                    </fieldset>
                </form>
            </div>
    
        <div class="page-footer">
            <hr/>
            更多问题,欢迎联系<a href="mailto:webmaster@eeg.com">管理员</a>
            <img src="images/footer.png" alt="CoolMeeting"/>
        </div>
    </body>
</html>

配置web.xml

 

修改adminleft.jsp

在添加会议室那里加一个url

 

测试:

 

 

 

 

  • 4
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一身正气z

打赏随心就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值