面试题: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 ...
随机推荐
- nodejs docker 开发最好选择yarn 进行包管理而不是npm
npm 与yarn 的区别网上一大堆的文章,我们在构建docker 镜像是应该遵守的有些原则 基础镜像尽量小 对于构建进行缓存处理 构建的docker 的文件层数尽量少 能直接运行的,就别进行重复 ...
- iframe添加点击事件
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 有关implicit Intent的使用
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("geo:20.000,50.000&quo ...
- 73个word使用终极技巧
1.问:Word里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以设置不同的页眉.文件——页面设置——版式——页眉和页脚——首页不同 2.问:请问Word中怎样让每一章用 ...
- C语言回调函数详解
1. 什么是回调函数? 回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那本书上看到关于回调函数的定义.我在百度上搜了一下,发现众说纷纭,有很大一部分都是使用类 ...
- Win10的Hosts文件修改后无法保存的问题解决方法,实测可以
1.hosts文件是什么?有什么作用呢? Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个 ...
- java.输入水果的编号,求它对应的单价
总结:可以if-else 循环或switch循环 package com.b; import java.util.Scanner; /*以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4. ...
- Effective java笔记3--类和接口1
一.使类和成员的可访问能力最小化 要想区别一个设计良好的模块与一个设计不好的模块,最重要的因素是,这个模块对于外部的其他模块而言,是否隐藏了内部的数据和其他的实现细节.一个设计良好的模块会隐藏所有的实 ...
- PTA 说反话-加强版(20 分)(字符串处理)
说反话-加强版(20 分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空 ...
- 1099 Build A Binary Search Tree
1099 Build A Binary Search Tree (30)(30 分) A Binary Search Tree (BST) is recursively defined as a bi ...