当幸福来敲门

我就会牢牢抓住!
随笔 - 50, 文章 - 3, 评论 - 8, 引用 - 0
数据加载中……

2012年9月21日

需求工程师的工作内容

1.和业务部门 、客户沟通(沟通是整个需求设计到开发使用为止);
2.学习业务;
3.有意识听速求(客户最急需的),也就是优先级问题;
4.搜集需求,整合,提炼,完成分析;(考虑周全找关联 找核心)
5.编写需求产品文档(文字和图列、流程图等相结合)
6.掌握相关工具;(比如visio/axure)
7.文档系统讲解(讲解对象:开发和测试)
8.验证开发完后的产品(验证结束后再测试);
9.用户培训(需求工程师主持);
10.了解相关系统(了解整个业务面 而不是 内部的功能点);

注意:数据表设计中尽量存可分析的信息代码;

posted @ 2014-03-05 15:23 wyx 阅读(193) | 评论 (0)编辑 收藏

面试题积累

  1. struts1和struts2的区别
  2. hibernate和ibatis的区别
  3. json和xml的区别
  4. ajax的原理
  5. ajax和iframe嵌套有什么区别
  6. gbk utf8 iso-8859-1都是多少字节
  7. extjs和jquery的区别
  8. js从前端如何解决跨域问题
  9. 单例模式的优点,工厂模式的原理
  10. spring的mvc模式
  11. jdk1.7新功能
  12. 为什么会出现乱码

posted @ 2014-03-04 15:35 wyx 阅读(222) | 评论 (0)编辑 收藏

Hibernate 查询有关in的查询

http://www.iteye.com/problems/74892

List<Integer> ids = new ArrayList<Integer>();
ids.add(3);
ids.add(4);
ids.add(5);
Query query=session.createQuery(from document where id in (:ids)); 
query.setParameterList("ids", ids);
query.list();

posted @ 2013-11-18 17:42 wyx 阅读(619) | 评论 (0)编辑 收藏

用hibernate插入数据保证插入数据ID同步 ,插入之后返回对象

public FDataReport addFDataReport(FDataReport datareport);//数据新录入返回对象,对应的就会把ID也返回

posted @ 2013-11-04 17:43 wyx 阅读(250) | 评论 (0)编辑 收藏

关于登录界面 记住用户名和密码的一段代码

Cookie cookies[]=request.getCookies();
    Cookie stCookie=null;
    String password=null;
    String passwordvalue=null;
    String usernamevalue=null;
    String cookiename = null;
    String nameandpassword[]=new String[3];
    if (cookies != null) {
   for (int i = 0; i < cookies.length; i++) {
    stCookie = cookies[i];
    cookiename = stCookie.getName();
    if (cookiename!=null && cookiename.equalsIgnoreCase("db_password")) {
     passwordvalue = stCookie.getValue();
     password = passwordvalue;//.substring(8, passwordvalue.length()-3);
     nameandpassword[1] = password.trim();
    }
    if (cookiename!=null && cookiename.equalsIgnoreCase("db_username")) {
     usernamevalue = stCookie.getValue();
     nameandpassword[0] = usernamevalue.trim();
    }
    }
 }





<body>
<p>
       <label for="LoginName">
        用户名 / 邮箱:
       </label>
       <input class="text" type="text" id="LoginName" name="LoginName"
        value="<%=nameandpassword[0]==null?"":nameandpassword[0] %>" />
      </p>
      <p>
       <label for="Password">
        密码:
       </label>
       <input class="text" type="password" value="<%=nameandpassword[1]==null?"":nameandpassword[1] %>" name="Password" id="Password" />
      </p>


</body>

posted @ 2013-11-01 15:08 wyx 阅读(306) | 评论 (0)编辑 收藏

form表单提交两次原因

昨天做用户注册,添加用户时候总是提交两次
最后才找到原因 提交表单的按钮就是设置成button的了 但是名称是submitButton也不可以 所以修改下按钮名称就可以了!!!
⊙﹏⊙b汗

posted @ 2013-10-18 09:21 wyx 阅读(420) | 评论 (0)编辑 收藏

关于安全问题——用户中心

1.当用户操作用户中心的信息,编码获取用户对象应该是通过该用户登录保存的session或者cookie获得,
而不是通过用户ID获得(否则当有人知道通过ID传值,容易轻易修改掉其他用户的信息)

2.前台下载也需要通过后台处理 放置业内人士知道下载文件真实地址,获得大量数据信息

posted @ 2013-09-04 17:13 wyx 阅读(204) | 评论 (0)编辑 收藏

FCKeditor 取值

《转自http://blog.sina.com.cn/s/blog_5f66526e0100kf6b.html

主要步骤:

第一步:导入需要的js文件(根据实际情况修改相应路径)
<script src="js/jquery.js" type=text/javascript></script>   
<script src="fckeditor/fckeditor.js" type="text/javascript"></script>
第二步:初始化(根据实际情况修改相应路径)   

sBasePath    = '/duotunkf/fckeditor/' ;#编辑器所在文件夹;
oFCKeditor    = new FCKeditor('content') ;
oFCKeditor.BasePath = sBasePath ;
oFCKeditor.Value = 'test' ;
oFCKeditor.ToolbarSet = 'Basic' ;
oFCKeditor.Create() ;

其中content为页面你所绑定的textArea的id或name

第三步:取值

var oEditor = FCKeditorAPI.GetInstance('content');  
editorValue = oEditor.GetHTML();  
第四步:赋值(更新的时候先把原有的值赋给textarea)

var oEditor = FCKeditorAPI.GetInstance('content');  
oEditor.SetHTML("value"); 

 

下面是本人写的一个赋值测试程序,供大家参考。源码如下:

<html>
 <head>

     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script src="js/jquery-1.3.2.min.js"></script>
        <script src="fckeditor/fckeditor.js"></script>
        <script>
        $(document).ready(function(){
          $("#test").click(function(){
    var oEditor = FCKeditorAPI.GetInstance('content');  
    oEditor.SetHTML($("#test option:selected" ).text());
    });
  });
        </script>
 </head>
 <body>
  
  <form action="" method="post">
        <script>
            sBasePath    = '/duotunkf/fckeditor/' ;#编辑器所在文件夹;
            oFCKeditor   = new FCKeditor('content') ;
            oFCKeditor.BasePath = sBasePath ;
            oFCKeditor.Value = 'test' ;
            oFCKeditor.ToolbarSet = 'Basic' ;
            oFCKeditor.Create() ;
  </script>
   <br>
            <label for="test">
      <select name="test" size="4" id="test">
        <option value="1">i.点击这里改变编辑器的值</option>
        <option value="2">ii.点击这里改变编辑器的值</option>
        <option value="3">iii.点击这里改变编辑器的值</option>
           </select>
          </label>
  </form>
 </body>
</html>


posted @ 2013-07-31 14:19 wyx 阅读(176) | 评论 (0)编辑 收藏

关于数据表建设的int 和 number varchar和nvarchar的区别


提交了,刚才修正了一些问题;一主键需要设置number类型同时告诉扩充到10
管华(管华) 10:44:15
你刚才是int类型,,int最大是到6万多吧,,如果你设置这个,意味着到时你到6万多的会员后,系统出问题,插入不进去了,到时你还得改;
管华(管华) 10:45:46
第二,你用的是字符VARCHAR2类型,这个;类型在oracle里不太好,会持久化占用一部分空间,比如你设置的VARCHAR2(1000),他不管你里面有没有数据,都会占用这1000个字符的空间;因此需要改为NVARCHAR2 ,他是自适应,当你没存储值,他不占据空间


另外根据有些字段,比如人名  name  NVARCHAR2(20)分配20个字符就可了,分配500个,会浪费多余的空间同时使得系统慢碎片多;因此根据实际情况,酌情分配

posted @ 2013-07-12 10:49 wyx 阅读(324) | 评论 (0)编辑 收藏

sql语句特殊字符处理

update tc_report t set xlsfile='ChinaLivestock'||chr(38)||'FeedWeeklyMarketReport20130703.doc' where t.xlsfile like 'China Livestock & Feed Weekly Market Report 20130703%'

posted @ 2013-07-04 10:36 wyx 阅读(267) | 评论 (0)编辑 收藏

Tomcat修改文件重启问题

将tomcat下的bin\startup.bat下的文件打开后,最下面有一句话  call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%,,复制我这个替换你那个,保存后,即可实现不重启就编译java

posted @ 2013-07-01 11:32 wyx 阅读(175) | 评论 (0)编辑 收藏

JavaBean中打印信息到JSP页面

http://blog.csdn.net/sclxf/article/details/4654080

posted @ 2013-05-16 17:47 wyx 阅读(160) | 评论 (0)编辑 收藏

JS 获得系统当前时间和未来一周时间

例子:

function getDate(day){
   var zdate=new Date();
   var sdate=zdate.getTime()-(1*24*60*60*1000);
   var edate=new Date(sdate-(day*24*60*60*1000)).format("yyyy-MM-dd");
   return edate;
}

 function changevalue(obj){
       alert(obj);
       var a = getDate(+7);
       var b = getDate(+31);
       if(obj=="8"){
       document.getElementById("enddate").value=b;
       }else{
       document.getElementById("enddate").value=a;
       }
 }

posted @ 2013-05-08 15:54 wyx 阅读(378) | 评论 (0)编辑 收藏

转换PDF遇到的问题java.lang.UnsatisfiedLinkError: no jcom in java.library.path

java.lang.UnsatisfiedLinkError: no jcom in java.library.path
将 jcom.dll 文件放在  C:\WINDOWS\system32 和jdk的bin   目录下

posted @ 2013-04-10 16:14 wyx 阅读(422) | 评论 (0)编辑 收藏

BUG 调试 加入断点但是跳转时候没有走

设置问题  Debug model选中

posted @ 2013-04-03 15:34 wyx 阅读(199) | 评论 (0)编辑 收藏

投研项目 文档 总结

1.下载模块:年鉴、研究报告、企业榜单和行业数据(需要权限控制)
2.FTP使用:

posted @ 2013-03-27 11:09 wyx 阅读(252) | 评论 (0)编辑 收藏

2013-03-13 项目开发 总结 连载记录

1.针对不同类型跳转不同的action方法 除了使用JS以外  还可以 使用参数获得参数例如method=....不同值来跳转像不同的方法
例子:分国别 (method="showCountryList")  分地区(method="showAreaList")  
        后台 String method = request.getParameter("method");
             request.setAttribute("method", method);
    if (method != null && method.equals("showCountryList")) {
     return showCountryList(map, form, request, response);//分国别
   } else if (method != null && method.equals("showAreaList")) {
     return showAreaList(map, form, request, response);//分地区
   }
2.Jsp........记得使用IFram嵌套
<iframe width="100%" height="800" class="share_self"  frameborder="0" scrolling="no" src="/tyreportAction.do?method=lookReportInfo&bid=${record.bid } "></iframe>
 总结:思维要活跃些  往往一个问题有很多种解决方法的

posted @ 2013-03-13 09:38 wyx 阅读(170) | 评论 (0)编辑 收藏

大文本值CLOB取值 和 存值

存值
 Clob  organdetail =Hibernate.createClob(request.getParameter("organdetail").equals("")?"":request.getParameter("organdetail").trim());// 机构简介
   取值 显示JSP
<%=ToolsCommon.Clob2String(institutions.getOrgandetail())==null?"":ToolsCommon.Clob2String(institutions.getOrgandetail())%>


 public static String Clob2String(java.sql.Clob clob) {
  String s1 = "";
  char ac[] = new char[200];

  if (clob == null)
   return null;
  java.io.Reader reader = null;
  int i;
  try {
   reader = clob.getCharacterStream();
   while ((i = reader.read(ac, 0, 200)) != -1)
    s1 = s1 + new String(ac, 0, i);
  } catch (Exception exception1) {
   // throw new java.sql.SQLException(exception1.getMessage());
   System.out.println(exception1.toString());
  }

  finally {
   try {
    reader.close();
   } catch (Exception _ex) {
   }
  }
  return s1;

 }

posted @ 2013-02-28 10:20 wyx 阅读(359) | 评论 (0)编辑 收藏

Java 删除文件夹 和 文件 集合

《此文拷贝自http://kxjhlele.iteye.com/blog/323657

1,验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)


// 验证字符串是否为正确路径名的正则表达式
private static String matches = "[A-Za-z]:\\\\[^:?\"><*]*";
// 通过 sPath.matches(matches) 方法的返回值判断是否正确
// sPath 为路径字符串

2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件


    /**
     *  根据路径删除指定的目录或文件,无论存在与否
     *@param sPath  要删除的目录或文件
     *@return 删除成功返回 true,否则返回 false。
     */
    public boolean DeleteFolder(String sPath) {
        flag = false;
        file = new File(sPath);
        // 判断目录或文件是否存在
        if (!file.exists()) {  // 不存在返回 false
            return flag;
        } else {
            // 判断是否为文件
            if (file.isFile()) {  // 为文件时调用删除文件方法
                return deleteFile(sPath);
            } else {  // 为目录时调用删除目录方法
                return deleteDirectory(sPath);
            }
        }
    }

3,实现删除文件的方法,

    /**
     * 删除单个文件
     * @param   sPath    被删除文件的文件名
     * @return 单个文件删除成功返回true,否则返回false
     */
    public boolean deleteFile(String sPath) {
        flag = false;
        file = new File(sPath);
        // 路径为文件且不为空则进行删除
        if (file.isFile() && file.exists()) {
            file.delete();
            flag = true;
        }
        return flag;
    }

4,实现删除文件夹的方法,

    /**
     * 删除目录(文件夹)以及目录下的文件
     * @param   sPath 被删除目录的文件路径
     * @return  目录删除成功返回true,否则返回false
     */
    public boolean deleteDirectory(String sPath) {
        //如果sPath不以文件分隔符结尾,自动添加文件分隔符
        if (!sPath.endsWith(File.separator)) {
            sPath = sPath + File.separator;
        }
        File dirFile = new File(sPath);
        //如果dir对应的文件不存在,或者不是一个目录,则退出
        if (!dirFile.exists() || !dirFile.isDirectory()) {
            return false;
        }
        flag = true;
        //删除文件夹下的所有文件(包括子目录)
        File[] files = dirFile.listFiles();
        for (int i = 0; i < files.length; i++) {
            //删除子文件
            if (files[i].isFile()) {
                flag = deleteFile(files[i].getAbsolutePath());
                if (!flag) break;
            } //删除子目录
            else {
                flag = deleteDirectory(files[i].getAbsolutePath());
                if (!flag) break;
            }
        }
        if (!flag) return false;
        //删除当前目录
        if (dirFile.delete()) {
            return true;
        } else {
            return false;
        }
    }

5,main() 方法


    public static void main(String[] args) {

        HandleFileClass hfc = new HandleFileClass();
        String path = "D:\\Abc\\123\\Ab1";
        boolean result = hfc.CreateFolder(path);
        System.out.println(result);
        path = "D:\\Abc\\124";
        result = hfc.DeleteFolder(path);
        System.out.println(result);

    }


main() 方法只是做了一个简单的测试,建立文件夹和文件都是本地建立,情况考虑的应该很全面了,包括文件夹包含文件夹、文件。文件的不同情况…………

 

实现没有问题,可以正确删除文件夹和文件。

 

对于其他类型文件的操作继续学习…………




posted @ 2013-01-18 15:58 wyx 阅读(299) | 评论 (0)编辑 收藏

JFreechar

http://www.blogjava.net/amigoxie/archive/2007/09/30/149765.html

posted @ 2012-12-26 15:51 wyx 阅读(185) | 评论 (0)编辑 收藏

orcle修改属性字段 并且保留原有值

1.原字段类型是字符串 使用“||”连接
update table1 set num = substr(num,0,instr(num,'-'))||(substr(num,instr(num,'-')+1) +9) 
2.原字段是数字 使用+连接
UPDATE table1SET num = num+10 
3.截取 update tc_report t set xlsfile=substr(xlsfile,6) where xlsfile like '%uku\%'

posted @ 2012-11-12 10:20 wyx 阅读(326) | 评论 (0)编辑 收藏

form表单 修改 多选框默认选中

1.放到HashMap中
  String varsort=exp.getVarsort();
   String vars[]=null;
   HashSet setvar = new HashSet();
   if(varsort!=null&&!varsort.trim().equals("")){
    vars=varsort.substring(0,varsort.length()-1).split(",");
    for(int i=0;i<vars.length;i++){
     setvar.add(vars[i].trim());
    }
   }
2. contains比较是否包含
<% if(varsorts!=null&&varsorts.size()>0){
           for(int j=0;j<varsorts.size();j++){
            TDictionarys td=varsorts.get(j);
            %>
         <input type="checkbox" value="<%=td.getDataid() %>" <%if(setvar.contains(String.valueOf(td.getDataid()).trim())){out.print("checked");} %> onclick="getBreeds()" name="varsort" id="varsort" />
         <label for="checkbox" class="font12">
         <%=td.getName() %>
            </label>
            <%
           }
          }
         %>
        

posted @ 2012-09-21 18:03 wyx 阅读(1326) | 评论 (1)编辑 收藏

页面级缓存处理

前提  列表走了数据库查询
1.引入架包  <%@ taglib uri="oscache" prefix="cache"%>
2.包含要缓存的部分
<cache:cache key="dbnewscache" time="3600">  
        <%List<Article> list=new CmsByMysql().getNews(); %>
          <c:forEach var="cu" items="<%=list%>">
               <li>
          <a href="${cu.url}">${cu.titleContent} </a>
            </li>
          </c:forEach>
</cache:cache>

posted @ 2012-09-21 17:25 wyx 阅读(225) | 评论 (0)编辑 收藏