0、效果展示
1、概述
目前,我国网络发展正处于高度发展状态。越来越多的人在网上选择快捷的方式预定自己喜欢的餐厅作为朋友聚会和的场所。跟随网络的普及和发展,人们开始习惯性的在做某事之前先网络上浏览一下相关内容,找一些相关的信息。作为一个在线预约订餐的网站,如果能够帮助顾客了解菜品信息,推出相应的服务供顾客们选择,实现在线的预订座位,无疑能获得较多的市场,并且让顾客们充分享受的乐趣。
2、搭建环境
本文以实现一个酒店美食菜单预订网站为目标,从环境搭建到编码实现全过程讲述
我们使用javaweb、J2EE来构建酒店美食菜单预订网站,环境使用最新版jdk和tomcat,配合mysql数据库
开发工具使用idea(也可以使用eclipse),数据库管理工具使用Navicat Premium
开发框架使用JavaBean Servlet MVC结构;
没有使用SSH(Struts+Spring+Hibernate)或SSM(Spring+SpringMVC+MyBatis),这两个框架我们在别的项目中再介绍开发过程
在项目中会引入My97DatePicker作为前端日期时间选择工具,使用fckeditor作为富媒体编辑器(也可以使用百度的ueditor)
使用DWR(Direct Web Remoting)用于改善web页面与Java类交互,实现远程服务器端AJAX读取登录数据。
使用JSTL(Java server pages standarded tag library,即JSP标准标签库),此库是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。
3、数据表结构
表5 news新闻表
名称 | 类型 | 说明 |
id | int | 编号 |
title | nvarchar(150) | 标题 |
pic | nvarchar(150) | 图片 |
[content] | text | 内容 |
addtime | datetime | 日期 |
表6 预定表
名称 | 类型 | 说明 |
id | int | 编号 |
title | nvarchar(50) | 标题 |
address | nvarchar(50) | 地址 |
time | nvarchar(50) | 日期 |
price | nvarchar(50) | 价格 |
tel | nvarchar(50) | 电话 |
linkman | nvarchar(50) | 联系人 |
[content] | text | 内容 |
addtime | nvarchar(50) | 日期 |
4、后端代码示例
package com.action;
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.bean.CaidanBean;
import com.util.Constant;
public class CaidanServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public CaidanServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding(Constant.CHARACTERENCODING);
response.setContentType(Constant.CONTENTTYPE);
CaidanBean tb=new CaidanBean();
String method=request.getParameter("method").trim();
if(method.equals("delcaidan")){
String id=request.getParameter("id").trim();
int flag = tb.delCaidan(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/caidan/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/caidan/index.jsp").forward(request, response);
}
}
else if(method.equals("hotdelcaidan")){
String id=request.getParameter("id").trim();
int flag = tb.delCaidan(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/caidan/hot.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/caidan/hot.jsp").forward(request, response);
}
}
else if(method.equals("hotCaidan")){
String id=request.getParameter("id").trim();
int flag = tb.hotCaidan(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/caidan/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/caidan/index.jsp").forward(request, response);
}
}
else if(method.equals("nohotCaidan")){
String id=request.getParameter("id").trim();
int flag = tb.nohotCaidan(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/caidan/hot.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/caidan/hot.jsp").forward(request, response);
}
}
//预定
else if(method.equals("addprep")){
String tid=request.getParameter("id").trim();
String num=request.getParameter("num").trim();
String tel=request.getParameter("tel").trim();
String linkman=request.getParameter("linkman").trim();
String address=request.getParameter("address").trim();
String member=request.getParameter("member").trim();
int flag = tb.addPrep(tid, num, tel, linkman, address, member);
System.out.println(flag);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
else if(flag==Constant.DEFAULT_ERROR){
request.setAttribute("message", "您已经预定了此菜单,请不要重复预定!");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
else if(method.equals("upprep")){/update
String id=request.getParameter("id").trim();
String num=request.getParameter("num").trim();
String tel=request.getParameter("tel").trim();
String linkman=request.getParameter("linkman").trim();
String address=request.getParameter("address").trim();
int flag = tb.updatePrep(Integer.parseInt(id), num, tel, linkman, address);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("hy_caidan.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("hy_caidan.jsp").forward(request, response);
}
}
else if(method.equals("memberdelPrep")){
String id=request.getParameter("id");
int flag = tb.memberdelPrep(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("hy_caidan.jsp").forward(request, response);
}
else if(flag==Constant.DEFAULT_ERROR){
request.setAttribute("message", "您的预定已经得到管理员批准,如取消预定,请联系管理员!");
request.getRequestDispatcher("hy_caidan.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("hy_caidan.jsp").forward(request, response);
}
}
else if(method.equals("admindelPrep")){
String id=request.getParameter("id");
int flag = tb.memberdelPrep(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/prep/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/prep/index.jsp").forward(request, response);
}
}
else if(method.equals("shPrep")){
String id=request.getParameter("id");
int flag = tb.shPrep(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/prep/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/prep/index.jsp").forward(request, response);
}
}
else if(method.equals("addTP")){
String name=request.getParameter("name").trim();
String good=request.getParameter("good");
String bad=request.getParameter("bad");
int flag=tb.addTP(name, good, bad);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/tp/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/tp/index.jsp").forward(request, response);
}
}
else if(method.equals("upTP")){
String id=request.getParameter("id").trim();
String name=request.getParameter("name");
String good=request.getParameter("good");
String bad=request.getParameter("bad");
int flag=tb.upTP(id,name, good, bad);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/tp/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/tp/index.jsp").forward(request, response);
}
}
else if(method.equals("delTP")){
String id=request.getParameter("id").trim();
int flag=tb.delTP(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("admin/tp/index.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/tp/index.jsp").forward(request, response);
}
}
else if(method.equals("goodTP")){
String id=request.getParameter("id").trim();
int flag=tb.goodTP(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("tp.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("tp.jsp").forward(request, response);
}
}
else if(method.equals("badTP")){
String id=request.getParameter("id").trim();
int flag=tb.badTP(id);
if(flag == Constant.SUCCESS){
request.setAttribute("message", "操作成功!");
request.getRequestDispatcher("tp.jsp").forward(request, response);
}
else{
request.setAttribute("message", "系统维护中,请稍后再试!");
request.getRequestDispatcher("tp.jsp").forward(request, response);
}
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
// Put your code here
}
}
5、前端代码示例
<%@ page language="java" import="java.util.*,com.util.*" contentType="text/html;charset=gb2312" %>
<%@ include file="iframe/head.jsp" %>
<title>美食制作-宅食网</title>
<%
String message = (String)request.getAttribute("message");
if(message == null){
message = "";
}
if (!message.trim().equals("")){
out.println("<script language='javascript'>");
out.println("alert('"+message+"');");
out.println("</script>");
}
request.removeAttribute("message");
%>
<div class="workzone">
<%@ include file="iframe/left.jsp" %>
<!--中部右侧开始-->
<div class="workzone-right">
<div>
<div>
<div>
<h1>
<%
List pagelist3=caipub.getAllCaipuclassManage();
if(!pagelist3.isEmpty()){
for(int i=0;i<pagelist3.size();i++){
List pagelist2 =(ArrayList)pagelist3.get(i);
%>
<a href="caipu.jsp?type=<%=pagelist2.get(0).toString()%>">
<% if(request.getParameter("type")!=null&&request.getParameter("type").equals(pagelist2.get(0).toString())){%>
<b>
<%}%>
<%=pagelist2.get(1).toString() %>
<% if(request.getParameter("type")!=null&&request.getParameter("type").equals(pagelist2.get(0).toString())){%>
</b>
<%}%>
</a>
<%
}}
%>
</h1>
</div>
<div>
<%if(!AllcaipuList.isEmpty()){
for(int alln1=0;alln1<AllcaipuList.size();alln1++){
List allnew=(List)AllcaipuList.get(alln1);
%>
<div class="ourprojectrow"> <span class="blog-posted-row"><%=Validate.datemmdd(allnew.get(2).toString())%></span> <a href="<%=path%>/caipuinfo.jsp?id=<%=allnew.get(0).toString()%>"><%=allnew.get(1).toString()%></a> </div>
<%}} %>
</div>
</div>
<div class="clear"></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<%@ include file="iframe/foot.jsp"%>