码迷,mamicode.com
首页 > 其他好文 > 详细

最近做项目的一些小技巧

时间:2016-08-19 20:48:41      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

最近再跟着视频,学做一个简单的BBS。用来掌握所学习的Servlet,jsp,以及数据库的相关知识。

1.当传输过来的数据中有中文时,

request.setCharacterEncoding("GBK"); 会保证,传输过来的字段会是中文

要注意的是:在执行setCharacterEncoding()之前,不能执行任何getParameter()。 在执行第一个getParameter()时,java将会按照编码分析所有提交内容,后面的getParameter()将不再分析。

 

2.

 1         boolean autoCommit=conn.getAutoCommit();
 2         conn.setAutoCommit(false);//将此连接的自动提交模式设置为给定状态。如果连接处于自动提交模式下,则它的所有 SQL 语句将被执行并作为单个事务提交。否则,它的 SQL 语句将聚集到事务中,直到调用 commit 方法或 rollback 方法为止。默认情况下,新连接处于自动提交模式。
3 4 int rootId=-1; 5 String sql="insert into article values(null,0,?,?,?,now(),0)"; 6 7 PreparedStatement pstmt=conn.prepareStmt(sql,Statement.RETURN_GENERATED_KEYS); //创建一个默认 PreparedStatement 对象,该对象能获取自动生成的键。 8 pstmt.setInt(1, rootId); 9 pstmt.setString(2, title); 10 pstmt.setString(3, cont); 11 pstmt.executeUpdate(); 12 13 ResultSet rsKey=pstmt.getGeneratedKeys();//获取由于执行此 Statement 对象而创建的所有自动生成的键。如果此 Statement 对象没有生成任何键,则返回空的 ResultSet 对象。 14 rsKey.next(); 15 rootId=rsKey.getInt(1);//获得结果集里第一个自动生成键的值 16 17 Statement stmt=DB.createStmt(conn); 18 stmt.executeUpdate("update article set rootId="+ rootId +" where id =" + rootId); 19 20 conn.commit(); 21 conn.setAutoCommit(autoCommit);

 

 

3.

String action=request.getParameter("action");
if(action!=null&&action.trim().equals("post")){
   //执行代码
}

 

1                  <form action="post.jsp" method="post">
2                       <input type="hidden" name="action" value="post"/>
3                       标题:<input type="text" name="title" /><br>
4                       内容:<textarea rows="15" cols="80" name="cont"></textarea><br>
5                       <input type="submit"  name="提交" value="提交"/>
6                   </form>

jsp文件自己提交到自己本身,设置一个隐藏的表单元素,而在jsp的java代码处接收传过去的参数,与隐藏表单元素的值对比,若相同,则证明现在的页面是由本身提交过去的。

 

最近做项目的一些小技巧

标签:

原文地址:http://www.cnblogs.com/df1995/p/5788823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!