1.Left.jsp
2.LeaveAction
package com.um.action;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.validation.SkipValidation;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import com.opensymphony.xwork2.ActionSupport;
import com.um.pojo.Leave;
import com.um.service.LeaveService;
import com.um.util.Paginate;
public class LeaveAction extends ActionSupport {
private static final long serialVersionUID = 6654280697600536538L;
Leave leave=null;
List
public Leave getLeave() {
return leave;
}
public void setLeave(Leave leave) {
this.leave = leave;
}
public List
return leaveList;
}
public void setLeaveList(List
this.leaveList = leaveList;
}
@SkipValidation
public String list() throws Exception{
LeaveService us=new LeaveService();
try {
DetachedCriteria criteria=DetachedCriteria.forClass(Leave.class);
criteria.addOrder(Order.desc("regtime"));
//实例化paginate类,同时传递符合查询条件的记录总数
Paginate paginate=new Paginate(us.countByCriteria(criteria));
//method 作用是告诉action,用户的操作时什么
String method="";
if(ServletActionContext.getRequest().getParameter("method")!=null)
method=ServletActionContext.getRequest().getParameter("method");
int currentPage=1;
if ("last".equals(method))
https://www.wendangku.net/doc/7f11097812.html,st();
if("frist".equals(method))
paginate.first();
if("next".equals(method)){
currentPage=Integer.parseInt(ServletActionContext.getRequest().getParameter("currentPage" ));
paginate.setCurrentPage(currentPage);
paginate.next();
}
if("previous".equals(method)){
currentPage=Integer.parseInt(ServletActionContext.getRequest().getParameter("currentPage"
paginate.setCurrentPage(currentPage);
paginate.previous();
}
//将paginate对象放到请求中
ServletActionContext.getRequest().setAttribute("paginate", paginate);
// 根据离线criteria和paginate进行分页查询
leaveList = us.findByCriteria(criteria,paginate);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public String leaves() throws Exception{
LeaveService us=new LeaveService();
try {
DetachedCriteria criteria=DetachedCriteria.forClass(Leave.class);
criteria.addOrder(Order.desc("regtime"));
//实例化paginate类,同时传递符合查询条件的记录总数
Paginate paginate=new Paginate(us.countByCriteria(criteria));
//method 作用是告诉action,用户的操作时什么
String method="";
if(ServletActionContext.getRequest().getParameter("method")!=null)
method=ServletActionContext.getRequest().getParameter("method");
int currentPage=1;
if ("last".equals(method))
https://www.wendangku.net/doc/7f11097812.html,st();
if("frist".equals(method))
paginate.first();
if("next".equals(method)){
currentPage=Integer.parseInt(ServletActionContext.getRequest().getParameter("currentPage" ));
paginate.setCurrentPage(currentPage);
paginate.next();
}
if("previous".equals(method)){
currentPage=Integer.parseInt(ServletActionContext.getRequest().getParameter("currentPage" ));
paginate.setCurrentPage(currentPage);
paginate.previous();
}
//将paginate对象放到请求中
ServletActionContext.getRequest().setAttribute("paginate", paginate);
// 根据离线criteria和paginate进行分页查询
leaveList = us.findByCriteria(criteria,paginate);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public String show() throws Exception{
LeaveService us=new LeaveService();
leave=us.findById(leave.getId());
return SUCCESS;
}
public String delete() throws Exception{
LeaveService us=new LeaveService();
try {
us.delete(leave);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public String register() throws Exception{
LeaveService us=new LeaveService();
try {
leave.setRegtime(new java.sql.Timestamp(new java.util.Date().getTime()));
us.save(leave);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
}
3. ILeaveDAO package com.um.dao;
import java.util.List;
import org.hibernate.criterion.DetachedCriteria;
import com.um.pojo.Leave;
import com.um.util.Paginate;
public interface ILeaveDAO {
/**
* 方法说明:根据ID查询UserInfo * @param id 用户编号
* @return 返回UserInfo对象实例
* @throws Exception
*/
public Leave findById(int id) throws Exception;
/**
* 方法说明:删除一条UserInfo记录
* @param id 用户编号
* @throws Exception
*/
public void delete(Leave leave) throws Exception;
/**
* 方法说明:添加一条UserInfo记录
* @param userInfo UserInfo对象实例
* @throws Exception
*/
public void save(Leave leave) throws Exception;
/**
* 方法说明:使用离线criteria查询
* @param criteria 离线查询条件
* @param pageNo 页码
* @return 返回查询结果列表
* @throws Exception
*/
public List
/**
* 方法说明:使用离线criteria查询
* @param criteria
* @return 返回查询数量
* @throws Exception
*/
public int countByCriteria(DetachedCriteria criteria) throws Exception;
}
4. LeaveDAOImpl
package com.um.dao.impl;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import com.um.dao.BaseHibernateDAO;
import com.um.dao.ILeaveDAO;
import com.um.pojo.Leave;
import com.um.util.Paginate;
public class LeaveDAOImpl extends BaseHibernateDAO implements ILeaveDAO{
@SuppressWarnings("unchecked")
public List
try {
//得到session离线criteria
Criteria c=criteria.getExecutableCriteria(getSession());
//设置分页条件
c.setMaxResults(paginate.getPageSize());
c.setFirstResult(paginate.getStartRow());
return criteria.getExecutableCriteria(getSession()).list();
} catch (RuntimeException re) {
throw re;
}
}
public void save(Leave leave) throws Exception {
try {
getSession().save(leave);
} catch (RuntimeException re) {
throw re;
}
}
public Leave findById(int id) throws Exception {
try {
Leave instance = (Leave) getSession().get(
"com.um.pojo.Leave", id);
return instance;
} catch (RuntimeException re) {
throw re;
}
}
public int countByCriteria(DetachedCriteria criteria) throws Exception{
try {
return criteria.getExecutableCriteria(getSession()).list().size();
} catch (RuntimeException re) {
throw re;
}
}
public void delete(Leave leave) throws Exception {
try {
getSession().delete(leave);
} catch (RuntimeException re) {
throw re;
}
}
}
5. LeaveService package com.um.service;
import java.util.List;
import org.hibernate.Transaction;
import org.hibernate.criterion.DetachedCriteria;
import com.um.dao.impl.LeaveDAOImpl;
import com.um.pojo.Leave;
import com.um.util.Paginate;
public class LeaveService {
Leave leaveDAO=new Leave();
LeaveDAOImpl leaveDAOImpl=new LeaveDAOImpl();
public Leave findById(int id) throws Exception {
try{
return leaveDAOImpl.findById(id);
}catch(Exception e){
e.printStackTrace();
throw e;
}
}
public void save(Leave leave) throws Exception {
try{
Transaction tx=null;
tx=leaveDAOImpl.getSession().beginTransaction();
leaveDAOImpl.save(leave);
https://www.wendangku.net/doc/7f11097812.html,mit();
}catch(Exception e){
e.printStackTrace();
throw e;
}
}
public void delete(Leave leave) throws Exception {
try {
leaveDAOImpl.getSession().clear();
Transaction tx=null;
tx=leaveDAOImpl.getSession().beginTransaction();
leaveDAOImpl.delete(leave);
https://www.wendangku.net/doc/7f11097812.html,mit();
} catch (RuntimeException re) {
throw re;
}
}
public List
try{
return leaveDAOImpl.findByCriteria(criteria,paginate);
}catch(Exception e){
e.printStackTrace();
throw e;
}
}
public int countByCriteria(DetachedCriteria criteria) throws Exception{
try{
return leaveDAOImpl.countByCriteria(criteria);
}catch(Exception e){
e.printStackTrace();
throw e;
}
}
}
6. struts.xml
namespace="/leave"> class="com.um.action.LeaveAction"> type="redirect">/leave/error.jsp class="com.um.action.LeaveAction"> class="com.um.action.LeaveAction"> class="com.um.action.LeaveAction"> class="com.um.action.LeaveAction">
Dreamweaver代码div+css Dreamweaver代码 基本结构标签: ,表示该文件为HTML文件
,包含文件的标题,使用的脚本,样式定义等,分段标志 ,采用黑体字 ,采用斜体字
属性是用来修饰标志的,属性放在开始标志内. 例:属性bgcolor="BLACK"表示背景色为黑色. 引用属性的例子:
表示页面背景色为黑色;一、安装与调试 常听朋友感叹ASP程序难学不易懂,不过我起初学习这门技术的时候也有过这样的感悟。从今天开始,我将以我学ASP的经验来做一个简单的ASP留言本,这个留言本用了Access数据库,所以务必请大家要跟我一起做的朋友都安装好Office软件,相信各位自己的电脑上都有了。好了,开始。 创建ASP的运行环境(安装IIS) IIS(Internet Information Service)是构建ASP站点所必须的,所以,我们应该先确认自己的电脑已安装了IIS信息服务,如果没有安装好的话,请按以下步骤: 1、打开“控制面板” 2、双击“添加/删除程序” 3、单击“添加/删除Windows组件”,打开添加/删除Windows组件对话框: 3、从下拉的列表中选择“Internet 信息服务(IIS)”单击“下一步”: 4、出现组件安装进度窗口,如弹出需要安装盘的话,放入Windows2000安装盘,按提示操作即可。直至最后安装完毕。 二、设计数据库 ASP程序本身并不能储存数据,众所周知,留言本有以下信息需要保存:留言者姓名、联系方式、留言内容等等。因为ASP并不能储存数据,所以数据库在这种环境之下就产生了。数据库的种类也很多,针对不同的程序也有适用于它的数据库,比如Access和Ms SQL就比较适用ASP和https://www.wendangku.net/doc/7f11097812.html,程序,至于其它的数据库和程序,就不属于本文所讨论的问题了,有兴趣的朋友可以查看其它一些资料。 那么既然Access和MS SQL都适用ASP,那么具体又如何来选择呢?我们可以打一个比方:比如钉一枚小钉子,聪明的人一定不会用一个大的棒槌,而是选择小的铁锤,虽然用大的棒槌也一样的可以把钉子钉进去,可是没有人愿意这样做。 数据库也一样:Access比较适用小型的应用,而MS SQL则适用于大中型的数据库应用,所以要做一个留言本,理所当然是选择Access更好一些,但是如果你决心使用MS,没有人会极力阻止你。好了,废话少说,切入正题,下面开始创建数据库。 Access是微软office办公软件中的其中一个,默认的安装Office是有这个Access的,好了,打开程序,开始了,GO! 进入实战了。打开程序后,出现一个对话框,这里我们选择第一个选项”空Access数据库”点击确定,弹出一个新建数据库的文件框,选择你上次你建的站点目录,起个data的文件名,点击创建,OK! 双击”使用设计器创建表”打开表创建窗口”如图
数据库应用技术课程设计说明书 题目:网络留言板系统 学院(系):软件学院 专业班级: 学号: 学生姓名:苏洋 指导教师: 教师职称: 起止时间:2014.12.19-2014.1.31 目录 第一章概述 (2) 第二章问题定义 (3) 第三章需求分析 (4)
第四章数据库设计 (5) 第五章界面设计 (5) 第六章代码与注释 (9) 设计总结 (14) 参考文献 (15) 第一章概述 网络在人们的生活中扮演了越来越重要的角色,各色网站、论坛相应而生,我们在浏览信息的同时也需要及时地交流信息,所以留言板在各类网站中应用广泛。 网络中各种留言板系统在DW等工具的编辑美化后和网站融为一体,作为网站的交
流平台起到举足轻重的作用。留言板可以提供一个公共的信息发布平台,适用于作为企业内部个人办公助手以及企业与企业之间进行信息交流;在线解决某些客户需求是网站中信息多、人气旺的地方,所以好的留言板可以吸引相当数量的访客,同时也担负着网站对外宣传、发布消息、收集客户反馈的重任,是网站、单位内联网必不可少的一部分。留言板的原理:将留言内容等写入服务器端的文本或数据库,再显示出来。用ASP开发留言板可以很方便的嫁接在网站中运行,所以下面将以此开发一个留言板设计。 第二章问题定义 网络留言板系统分为前台管理和后台管理。前台管理包括留言查看、回复留言、注册用户等功能。后台管理包括留言管理、用户管理等模块。 后台管理具体功能描述如下: 1.留言管理 留言管理的主要功能是添加、修改、删除留言信息。
2.用户管理 用户管理的主要功能是添加、修改、删除用户信息。 3.系统用户管理 系统用户管理的主要功能是系统用户的录入、修改用户的密码、用户信息查看。 4.系统用户管理 系统用户管理的主要功能是Admin 用户修改自己的密码;Admin 用户创建或删除用户;用户修改自己的密码;用户修改自己的用户信息;注册个人用户;个人用户修改自己的密码;个人用户修改自己的用户信息。 本系统功能模块划分如图1所示。 图1 系统功能模块 用户申请流程如图2所示。 图2 用户职位申请流程 第三章 需求分析 一、数据库需求分析 数据库是系统的信息保管所,所以,一个有效率高效的系统必定要有一个高效的数据库设计。本系统的数据库设计主要就是针对高效性进行的。 网络留言板系统 查看留言 回复留言 用户注册 后台管理 留言管理 用户管理 前台管理 查看留言 未注册用户 已登陆注册 未登陆注册注册 登陆 查看留言
Dreamweaver 8 基础代码 HTML基本结构(每个网页都是在基本结构的基础上添加内容的) ---------网页文件开始标签
--------头部元素开始标签简单留言板需求分析 1.数据库设计 ●数据库由两张表组成 guestInfo ---------------------------访客发帖留言信息表 adminInfo ---------------------------管理员信息表 ●数据库表结构设计设计如下: 数据库名:bookDB guestInfo 序号列名数据类型长度小数位标识主键允许空默认值字段说明 1 ID int 4 0 √√访客ID编号 2 userName varchar 20 0 访客用户名 3 Sex varchar 4 0 性别 4 QQ varchar 20 0 √访客QQ 5 Url varchar 40 0 √头像图片URL 6 Email varchar 40 0 √电子邮件 7 Content varchar 300 0 发帖内容 8 Reply varchar 300 0 √回复内容 9 imageAddress varchar 20 0 10 postTime datetime 8 3 √(getdate()) 发帖时间 adminInfo 序号列名数据类型长度小数位标识主键允许空默认值字段说明 1 userid int 4 0 √√管理员ID 2 userName varchar 20 0 用户名
3 userPwd varchar 20 0 密码 4 userNum varchar 10 0 √历史访问总人数 2.功能结构图 3.功能概要 ●前台显示留言信息 ●访客发布留言 ●管理员登陆 ●管理员对留言板的管理-----删除留言、回复留言 ●显示修改后的提示信息
2.2.3 字型设置标记 功能:设置文字的风格,如黑体、斜体、带下划线等,这是一组标记,它们可以单独使用,也可以混合使用产生复合修饰效果。常用的标记有以下一些: … :文字以粗体显示。 … :文字显示为斜体。 … :显示下划线。 … :删除线。 … :使文字大小相对于前面的文字增大一级。 … :使文字大小相对于前面的文字减小一级。 … :使文字成为前一个字符的上标。 …:使文字成为前一个字符的下标。 :使文字显示为闪烁效果。 …:以等宽体显示西文字符。 …:输出引用方式的字体,通常是斜体。 …:强调文字,通常用斜体加黑体。 …:特别强调的文字,通常也是斜体加黑体。 注:有些标记的效果必须在动态环境下才能显示,例如
目录 一、设计目的 (1) 二、需求分析 (1) 三、模块分析及设计 (2) 四、数据库设计 (2) 系统概念结构设计 (2) 数据字典 (2) 系统E-R图 (3) 系统流程图 (4) 逻辑结构设计 (5) 五、制作过程及要点 (6) 类库建立 (6) 验证码 (6) 留言内容界面 (7) 留言页面 (7) 登录界面 (9) 注册页面 (12) 修改密码界面 (13) 管理员界面 (14) 设计总结 (15) 附录 (15)
一、设计目的 留言板管理系统主要是提供大众一个操作系统,便于网上交流,谈论。功能块的响应操作分别由对应的子模块实现。通过互联网把你想说的话及想问的事发表出去,方便大家交流。同时,留言板的后台通过一个简化的自动的信息管理系统,使网友留言管理工作系统化,规范化,自动化,从而达到提高网络作用和管理的目的。 本设计研究的留言板是一种电子便签管理系统,是用ASP和SQL Sever编写的网络应用程序,留言操作相对简单,在进入网站后,可看到留言内容。留言板提供完备的信息发布功能,在网络用户交流中有很大的作用。 而我们这个留言板仅仅是简单的留言和管理员对留言进行操作的工具,该留言板简单实用,而且具备了大多数留言板的基本功能。 科学技术在不断地提高,计算机网络技术也日渐成熟,器强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用,现在许多国外和国内的网站均实现了网上注册、网上查询、网上发表信息等一系列的网上信息服务。通过计算机网络实现了足不出户就可以了解各种信息、咨询问题、搜索资料等,有了这样的一个网络平台,节省了大量的人力物力。 二、需求分析 对于一个系统,我们要从其性能、功能、用户界面、安全性等反面考虑,系统必须完成的功能如下: 1.留言板管理系统前端的主要功能是: (1)用户注册。 (2)用户登录。 (3)用户发表内容。 (4)用户修改密码。 (5)用户浏览留言内容。 2.留言板管理系统后台管理的主要功能: (1)管理员登陆。
HTML 代码留言板一个超简陋的留言版免费留言板
留言版 |
---|