面试题:SSH项目总结 !=!=未看 没用
阿玻罗软件(上海)有限公司已经两年了.中国银行营销系统,到民生银行小微信贷工厂建设.再到交通银行ioffice移动平台项目.以前所学的SSH好多都用不上
公司的框架.都是负责项目的贷款查找模块开发和测试.为什么总是要我管这些呢.其实心里还真是喜欢解决代码问题的.这里总有机会去深圳了.哈哈..
以下是我空的时候做的几个小项目.有人要可以分享.
项目部分案例:A B 两个,不做jsp方面的总结. (服务器在我自己电脑上,不一定随时开着) 也可以用微信加我微信公众平台号: laser7 直接查看
http://bsyg.vicp.net/netctoss-ssh-hd/cost/findCost
这个项目用SSH架构,其中主要用到: struts2用filter配制请求,和OGNL表达式, hibernate的多级缓存应用及优化,利用hibernate建表也是比较省心的一件事. spring 的数据源管理,SessionFactory对java Bean的管理我用的是用注解方式.虽然配制起来有点麻烦,用起来真是很爽的.不知道要少写多少代码.
其实我感觉这三个框架所有的业务最终还是要回到struts2的配制中.这个是最重要的.
在上海奔波两年难道只是为了积累人生经验?
A项目:
某公司DMS数据采集系统:
主要总结经验有三:
一.数据文件解码与编码,用socket.流的传送文件到服务器(设计为单例的),并用了定时器.(Timer.schedule).后来改为:插件Quartz+Spring来实现.具体实现还可以用过虑器等
二,由于数据不多,并且大多用于以上项目的报表与帐单输出,oracle中用pl/Sql做了相关的存储过程,用于输出显示.在此不做说明;
三.客户端可能有多个(大并发),所以服务端在指派任务时我用延迟的线程池+双缓冲队列.(项目经理说这个队列以后都会用得很少.)
通过读取UNIX系统日志文件,获取其中用户的登录记录加以处理统计,最终生成多干对登录登出记录上传至服务器,等待分析。
读取的日志文件为:wtmpx
其为一个纯2进制文件。
通过我们的程序最终应将此文件转化为一个记录了每个用户的一组登录登出数据的文本文件
实现过程:
wtmpx此文件中记录了若干条用户的操作数据,登录和登出分别都记录在该文件中。此文件会根据用户的操作而不断增长的。unix会将每次用户的操作写入该日志文件。
1:
从日志文件中读取10条2进制数据。并存入一个临时文件中。
临时文件名:temp.log
那么我们就需要将当前读取10条数据后,游标的位置记录起来,以便我们下次再读取日志文件时直到从哪里开始。
记录游标位置的文件:
last-position.txt
第二步:
从临时文件temp.log中将每一条2进制的数据转换为我们可以理解的字符串信息,并存入一个解析后的日志文件中log.txt
对于unix的日志文件中的一条数据中有若干信息,但我们不需要将所有信息全部解析出来。这里我们只采集我们需要的部分信息,其中包括:
第三步:
将log.txt中的数据匹配成对,将匹配上的数据保存在logrec.txt文件中,等待被发送至服务器。
将没有被匹配成对的数据存入login.txt文件中,等待下次匹配
B项目:NETCTOSS某公司计费支撑系统-网络版:
--用于维护UNIX服务器账号、资费标准, 以及查询用户消费情况的在线系统。
--系统分为如下模块:资费管理、账务账号、 业务账号、角色管理、管理员管理、账单 管理、报表等。
--我们开发其中的资费、账务账号、业务账号、 角色、管理员(这两个数据表也用到很多的关系表中间表,自认为比较麻烦)。
主要总结经验如下::
一:查询.
带条件、分页、关联:为了客户的良好体验,一般都是真分页,不做假分页,当然前期做案例演示还是用假分页好.主要是Sql(本项目用的是Spring+Hibernate,以后都写为Hql)的判断与拼写,这个在多个模块中都用到.我想这个得成一个模板才好(当然前台也是),其中对参数的分配比较麻烦,不过和后面的角色与管理员分配相比就差了些.
二.权限与角色模块管理
. --用途是能够满足一个软件的多元化,满足不同的人的使用需求,就是要给不同的人分不同的模块。现在让我说也很难说得清,但心里对如何操作却是明白
为什么说不好说呢,因为BS架构考虑到下拉框的传输,struts中的不同tags不同,写完完全不同,从xml中读出权限后处理为一个list,再通过中间表来找到相关的角色
这时就是不简单的修改,而是一个修改动作包含了:查询,删除,再增加的操作(见下面)
--角色复选框的值,是查询出的所有的角色,不是模块。
--新增时分3步骤(参考角色新增)
a、新增管理员数据
b、从新增数据中得到管理员ID
c、根据管理员ID,以及页面传递过来的一组角色ID,
新增管理员和角色中间表数据。
----权限表:用XXX.xml替代,做为一个数据源,不管是oracle,mysql等,还是一个文本,都要做到方便的读写,这个读xml文件其实不难,但是应用广,我在做的微信公众平台
后才发现.所有传输数据都是写为xml格式,(当然一些接口还是用json来传递参数).
===最后就是权限控制,我们在前端用到:轮询.(相当于多次的ajax提交数据,当然也有点类似servlet中的转发)
----- 写一个权限控制拦截器,在拦截方法中,判断Action的URL,从而判断它访问的模块,进而可以知道当前访问的模块,将此信息存入session------
以上包含的信息量太大,本人水平有限,不能尽述,只能在实践中多多运用熟悉才能完全掌握.希望看到此的HR或前辈们能介绍一下工作.工作地点无所谓.北上广都可以.
也希望以后在项目中多用到新的点子,完善我的微信平台.平台名字是以前注册用的,不必关注.
面试题:SSH项目总结 !=!=未看 没用的更多相关文章
- [转载] JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
JAVA面试题和项目面试核心要点精华总结(想进大公司必看) JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
- 【SSH项目实战三】脚本密钥的批量分发与执行
[SSH项目实战]脚本密钥的批量分发与执行 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载, ...
- 【SSH项目实战】脚本密钥的批量分发与执行【转】
[TOC] 前言 <项目实战>系列为<linux实战教学笔记>第二阶段内容的同步教学配套实战练习,每个项目循序衔接最终将组成<Linux实战教学笔记>第二阶段核心教 ...
- Myeclipse插件快速生成ssh项目并配置注解 在action层注入service的超详细过程
最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来. 以前都是在applicationContext.xml 里面这样配 <bean id=& ...
- 在SSH项目中实现分页效果
在实现分页的时候,我使用的是数据库下面的User表,实现的效果是通过分页查询 能够将表中的数据分页显示,点击相关的按钮实现:首页.上一页.下一页.末页的显示 1新建一个dynamic web proj ...
- SSH项目搭建(二)
本章讲解SSH项目需要到哪些jar包,及各个jar包的作用 一.struts2 1.下载好struts2,struts2文件夹>>>>apps>>>>a ...
- ssh项目java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoade错误
错误: 导入别人的ssh项目后出现java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoade错误, 错 ...
- SSH项目与SSM项目的进入首页的方法
SSH项目中: jsp页面一般都是存放在WEB-INF下面的目录下,这样我们就不能直接访问到这些jsp页面了,保证了页面的安全性. 在struts的管理中,是利用action来实现页面的跳转,进入in ...
- SSH项目整合教学Eclipse搭建SSH(Struts2+Spring3+Hibernate3)
这篇博文的目的 尝试搭建一个完整的SSH框架项目. 给以后的自己,也给别人一个参考. 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创建Struts项目,整合Hiberna ...
随机推荐
- Shell 参数(1)
shell 中参数相关: ./a.sh a b c d $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ ...
- 深入理解java虚拟机-第六章
第6章 类文件 6.3 Class类文件的结构 Class文件是一组以8位字节为基础单位的二进制流. Class文件格式采用一种类似C语言结构伪结构存储数据,这种伪结构中只有两种数据类型:无符号数和表 ...
- IDEA导出想要的sql供H2数据库使用
通过Database连接远程oracle数据库. 选择对应的数据库 双击该数据库需要查询的表,进行自动查询,展示结果. 在查询结果中选择某条数据,右键,选择Data Executer,选择对应的方式. ...
- C++11新特性之右值引用(&&)、移动语义(move)、完美转换(forward)
1. 右值引用 个人认为右值引用的目的主要是为了是减少内存拷贝,优化性能. 比如下面的代码: String Fun() { String str = "hello world"; ...
- openid和unionId的区别
转:http://blog.csdn.net/wo849533144long/article/details/50194623
- 【转】eclipse + Pydev 配置Python开发环境
原文网址:http://www.cnblogs.com/dflower/archive/2010/05/13/1734522.html 1. 下载并安装python,由于3.1版本貌似存在很多兼容问题 ...
- Delphi下遍历文件夹下所有文件的递归算法
{------------------------------------------------------------------------------- 过程名: MakeFileLis ...
- 在ERP软件行业项目应该怎么做?
本人进入软件行业已经有5个年头了,主导实施和参与过的大大小小的项目有20余个.其中有些项目做的非常好,提升了客户企业的管理水平,也规范了企业的业务操作水平,优化了企业的流程,客户非常认同我们实施的价值 ...
- mysql实战优化之三:表优化
对于大多数的数据库引擎来说,硬盘操作可能是最重大的瓶颈.所以,把你的数据变得紧凑会对这种情况非常有帮助,因为这减少了对硬盘的访问. 如果一个表只会有几列罢了(比如说字典表,配置表),那么,我们就没有理 ...
- 银行排队问题之单队列多窗口加VIP服务(30 分)
银行排队问题之单队列多窗口加VIP服务(30 分) 假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙.当有窗口空闲时,下一位顾客即去该窗口处理事务.当有多个窗口可选 ...