基于新闻网页的关键词提取系统——问题汇总

来源:互联网 发布:简易数控折弯机编程 编辑:程序博客网 时间:2024/06/06 20:23

1.由于太卡关闭了自动clean工程,结果调了两天才调好404问题,最后竟是clean了一下工程……..

2.卡了半天的相对路径问题。想把网页源码输出的txt放到工程文件夹下,结果试了网上的各种方法,如System.getProperty("user.dir")只获得eclipse文件路径。
最后解决方案:

ActionContext ctx=ActionContext.getContext();ServletContext sc = (ServletContext) ctx.get(ServletActionContext.SERVLET_CONTEXT);   String path = sc.getRealPath("/");

3.action向JSP页面传值的方法:

ActionContext ctx=ActionContext.getContext();ctx.getSession().put("path", path);<%=session.getAttribute("path").toString() %>

4.在读取txt文件时,Scanner cin = new Scanner(new BufferedInputStream(new FileInputStream(file)),"gbk");中的编码指定,一定要和原网页的编码统一。经研究,国内各大门户网站,除了百度以外都用gb编码,所以此处用gbk。

5.正则表达式,常规模式下如果其中含有引号等字符,在写进java文件时必须加上\,否则报错。

6.hibernate自动创建数据表时默认给varchar 大小赋值255,试过强行指定长度和类型,都会遇到各种其他的错误,比如改成text类型,other字段在内容较多时(200字+)会出现“无法插入”的bug。最后不得已手动改已经创建好的表的字段类型varchar和长度10000/20000。

7.在java中,int和integer不是同一种类型,int是一个基础变量类型,而Interger是一个对象,一般用后者传值更加稳妥。

8.hibernate配置参数里面可以设置数据库表的更新方式,如:<property name="hibernate.hbm2ddl.auto">update</property>,其中的参数为create时,每次简历会话就重新创建数据表,覆盖掉之前的;为update时,只在原来的基础上更新。

9.HashMap,java很赞的一个类,可以存<key,value>,如果value设置为数组的话,可以当做一个简易的数据表使用。

10.写SQL,想筛选出数据表中得分前五的关键词信息,写了语句select top 5 * from page_info order by score desc,结果错误提示语句有问题,可是这明明是符合SQL规范的语句,后来百度许多,才知道MySQL好像不支持top的写法,必须limit 5。

0 0