项目笔记

来源:互联网 发布:易顺佳服装鞋业软件 编辑:程序博客网 时间:2024/05/16 11:08

上星期做了一个小项目,有新闻,留言,上传下载。编码阶段确实遇到了一下小麻烦,不过都解决了,有的也不知道是什么原因,反正只知道解决了,做一下笔记。

1.更改数据库字段 alter table student change  老字段  新字段  新字段类型  not null;

2.修改 mysql 中的my.ini文件 可以修改默认字符编码 default-character-set = latin1

3.使用jdbc操作mysql数据库时,为了在数据库中正常显示中文,url="jdbc:mysql://localhost:3306/数据库名/useUnicode=true&characterEncoding=gb2312"

4.配置Tomcat文件夹中server.xml :

 <Context path="/news" docBase="C:\workspace\news\WebRoot" reloadable="true"/>
   不需发布项目到Webapps里,但需要将mysql-connentor-java-5.0.4.jar拷贝至Tomcat/lib文件夹下,但这样可能会引起标签异常。

5.select * from users order by userid desc limit 1  查最后一条记录

6.jsp页面要和mysql使用相同的编码方式,要用gb2312,都用gb2312. 

7.现在要上传文件了,表单必须进行封装,因为传递的不再是普通的文本数据,那么表单的封装需要通过
  enctype="multipart/form-data"
上传步骤:
  1. 实例化jspsmartupload对象
  2.初始化上传的操作
  3.准备上传
  4.保存文件

8. 在Servlet中获取pageContext的方法

PageContext context = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8*1024, true);

一共七个参数:

第一个参数是传递一个Servlet,在servlet中传递this就可以了;
第二个和第三个参数是request与response不多说明了;
第四个参数是发生错误后的url路径地址,如果没有可以键入null;
第五个参数是是否需要session,这里可以写入true;
第六个参数是缓存大小,我们用了8*1024;
第七个参数是是否需要刷新,键入ture;

9.tomcat5下jsp出现getOutputStream() has already been called for this response异常的原因和解决方法

在tomcat5下jsp中出现此错误一般都是在jsp中使用了输出流(如输出图片验证码,文件下载等),
没有妥善处理好的原因。
具体的原因就是
在tomcat中jsp编译成servlet之后在函数_jspService(HttpServletRequest request, HttpServletResponse response)的最后
有一段这样的代码
finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
    }
这里是在释放在jsp中使用的对象,会调用response.getWriter(),因为这个方法是和
response.getOutputStream()相冲突的!所以会出现以上这个异常。

然后当然是要提出解决的办法,其实挺简单的(并不是和某些朋友说的那样--
将jsp内的所有空格和回车符号所有都删除掉),在使用完输出流以后调用以下两行代码即可:
out.clear();
out = pageContext.pushBody();

10. jspsmartupload的getRequest()必须在 jspsmartupload.upload()执行了以后才能调用。因为upload()是准备上传,封装好了表单。

11.select * from users order by userid desc limit  $startPosition , $length  查询用户表,按userid降序排列,$startPosition为起始位置,$length为查询的长度



原创粉丝点击