程序结合易语言模块实现简单留言功能。
2024-02-04 20:38:55 8KB
1
简单留言板 Simple Guest Book == 开发环境:Win7 32bit + Eclipse for Javaweb Indigo 3.72 + tomcat6 + sqlite3 采用MVC模式开发 实现分发器DispatchServlet来对拦截所有*.xx(web.xml中配置)的请求,然后分发给不同的控制器执行后对不同结果进行渲染。 分发器实现流程 在初始化时需要将URL映射到具体控制器的方法上 拦截所有一定规则的请求 如: *.do 这个在wel.xml配置 在URL映射中查找拦截的URL请求,根据URL请求找到具体的控制器和其方法 实例化该控制,然后执行该方法 对返回结果进行处理然后渲染 怎么实现呢? 要映射URL到控制器需要一个Controller类来记录类名和方法,还要一个Map集合存储映射 URL -> Controller 在分发器初始化时通过反射读取控制器和其方法上指定URL添加到Map集合中.这需要一个注解@Mapping来指定URL 依次查看一下Controller -> Map mapping -> @Mappting 实现参照 void inti() void requestMapping() 两个方法 参数的注入实现 提供一个注解@Parameter来标注控制器中那些需要注入的字段 取得浏览器传入的参数通过反射注入到控制中 实现参照 void injectPrarameter() void doInject() 两个方法 ... 控制器是一个普通的JavaBean. @Mapping("/user") public class UserController { @Parameter private User user; private JsonModel json = new JsonModel(); private UserService userService = new UserService(); @Mapping("/register") public String register() { if (Utils.isEmpty(user.getUsername()) || Utils.isEmpty(user.getPassword())) { json.setMsg("请将项目填写完整!"); return Json.toJson(json); } try { boolean exist = userService.isExist(user.getUsername()); if (exist) { json.setMsg("用户名已经存在!"); return Json.toJson(json); } user.setPassword(Utils.md5(user.getPassword())); boolean f = userService.register(user); json.setSuccess(f); json.setMsg(f ? "注册成功" : "注册失败"); } catch (ServiceException e) { System.out.println(e.getMessage()); json.setSuccess(false); json.setMsg(e.getMessage()); } return Json.toJson(json); } ... 其他 .... } 以上代码 将"/user/register" 绑定到了用户控制器的注册方法上。 访问http://localhost:8080/guest/user/register.do时将执行 String register()方法 == @Parameter private User user; == 将会自动把浏览器提交的数据注入到user实体中,比如userid,username等... 事务的实现,参照Nutz的事务简化实现. ... public boolean delete(final int mid) throws ServiceException { final String sql = SqlMapping.get("sql.msg.delete"); final int[] re = new int[1]; try { // Sqlite只支持TRANSACTION_SERIALIZABLE事务级别 int level = java.sql.Connection.TRANSACTION_READ_COMMITTED; String dbType = Guest.get("DB.TYPE", "0"); if ("0".equals(dbType)) { level = java.sql.Connection.TRANSACTION_SERIALIZABLE; } // 匿名类中使用的变量必须是final类型的 Trans.exec(level, new Runnable() { @Override public void run() { try { re[0] = gdao.update(sql, mid); // 删除该留言的评论 gdao.update(SqlMapping.get("sql.comment.delmsg"), mid); } catch (SQLException e) { throw new TransException(e); } } }); } catch (TransException e) { throw new ServiceException(e.getMessage()); } return re[0] > 0; } ... 前端对JS的封装。。 // 退出 function logout() { $.get($.bp() + '/user/logout.do', function(data) { $('msg-content').html("退出成功!"); $('msg').fadeIn(); if (data && data.success) { setTimeout(function() { location.href = $.bp(); }, 2000); } setTimeout(function() { $('msg').fadeOut(); }, 1500); }, 'json'); } 仿jQuery选择器 取值设值val,html函数,show,hidden显示隐藏函数,fadeIn,fadeOut淡出函数,ajax简单封装,表单序列化... == 如何使用sqlite? 如何实现事务处理? 如何实现URL映射? 如何实现参数注入? 如何实现对象转json字符串? 如何实现$选择器和Ajax封装? 源码注释挺详细的,主要是给新同学看的,大牛请无视. 感兴趣的话更多内容请下载后请行查看....
2022-12-21 11:54:09 3.8MB 留言板 简单 mvc j2ee
1
使用myeclipse+sqlserver完成,功能简单,适合初学者
2022-12-15 11:02:41 1.1MB jsp+sqlserver
1
##spring-boot留言板 项目的目标 1 使用spring写个简单的留言板 2 尽可能的使用spring的各种配置 项目的具体目标 1 添加留言 2 留言列表 项目的实施 DONE 0 配置多个配置文件 1 配置任意目录下的文件 2 配置config下的文件 3 配置各个环境下的文件 DONE 0.1 项目启动选用 8888 端口 DONE 1 给项目加上一个库一点的banner 在配置里面加上banner.txt 文件即可 http://patorjk.com/software/taag http://www.network-science.de/ascii/ http://www.degraeve.com/img2txt.php DONE 1.1 对所有异常进行统一处理 DONE 2 使用log4j2写日志 1 记录各个级别的日志 2 了解log4j2的基本的
2022-12-14 21:59:18 94KB Java
1
简单的留言板,主要用到数据库等,用蓝色和白色为主界面,比较适合女生性格
2022-12-04 21:13:46 63KB 女生留言板
1
基于php和mysql的简单留言板,含创建库和表的php文件.提交留言后,直接跳转到所有留言显示的页面.
2022-09-26 22:36:14 9KB php mysql 留言板
1
php+mysql简单留言板,适合学习php编程的新手朋友们学习参考!
2022-06-16 13:32:56 346KB php+mysql留言板
1
PHP+MYSQL 简单留言板 内容很详细
2022-05-25 18:20:51 40KB 留言板
1
php5.2以上版本加mysql实现简单留言板简单留言板功能的cms系统
2022-05-25 17:08:39 876KB 留言板,php
1
简单留言板数据库设计及需求文档.doc
2022-05-09 19:08:02 222KB 文档资料 数据库 database