待熟悉的工具或API清单列表

 

1、Properites 加载配置文件 web路径设置

2、CommonUtils.uuid()

3 、TxQueryRunner c3p0数据库连接池

4、MailUtil  (邮箱的smtp服务要打开 否则 fail connected)

5、MessageFormat  完成对占位符的替换

6、将表单数据封装到user对象中   User formUser = CommonUtils.toBean(req.getParameterMap(), User.class);

7、alt+shit+s 弹出菜单

8、自定义异常 在UserService层抛出 UserServlet层捕获异常  并且设置request域 转发到msg.jsp页面

   

 1 UserService
 2 
 3         try {
 4             User user = userDao.findByCode(code);
 5             if (user == null)
 6                 throw new UserException("无效的激活码");
 7             if (user.isStatus())
 8                 throw new UserException("您已经激活过了,不能二次激活!");
 9             userDao.updateStatus(user.getUid(), true);
10         } catch (SQLException e) {
11             // TODO Auto-generated catch block
12             throw new RuntimeException(e);
13         }

   

 1 UserServlet
 2 //   激活功能
 3     public String activation(HttpServletRequest req, HttpServletResponse resp) {
 4         //System.out.println("activation");
 5         //1、获取激活码 
 6         //2、交给service 的 activation功能来激活
 7         //service方法可能跑出异常 把异常信息拿来保存到request中
 8         //转发到msg.jsp显示
 9         String code=req.getParameter("activationCode");
10         try {
11             userService.activation(code);
12             req.setAttribute("code", "success");
13             req.setAttribute("msg", "恭喜激活成功,请马上登录!");
14         } catch (UserException e) {
15             req.setAttribute("msg", e.getMessage());
16             req.setAttribute("code", "error");
17             
18         }
19         return "f:/jsps/msg.jsp";
20     }

9、关于将sqlException IoException 转化为 new RuntimeException(e)的事。

10、关于cookie添加path 登录功能中 刷新登录界面 并不能在用户名输入框中自动填充上一次登录过的用户

11、   EL 的内置对象cookie  el表达式先执行 所以若不加双引号 在没有执行javascript之前 已经变成王八啦 所以要加双引号

 1 <script type="text/javascript">   
 2         $(function(){  //Map<String<Cookie名称>,Cookie<cookie本身>>
 3         //el表达式先执行 所以若不加双引号 在没有执行javascript之前 已经变成王八啦 所以要加双引号
 4         //获取cookie中的用户名
 5            var loginname=window.decodeURI("${cookie.loginname.value}");
 6          //获取回显的用户名
 7          if("${requestScope.user.loginname}")
 8          {
 9          loginname="${requestScope.user.loginname}"; 
10          }
11          $("#loginame").val(loginname);
12            
13         });
14     </script>

 

   12、web中的debug模式 server启动debug

   13\超链接里面的中文 UrlEncoder转码 百分号 

1  <a href="<c:url value='<c:url value='/BookServlet?method=findByAuthor=${book.author}'/>" name='P_zz'
2                             title='Craig Walls'>${book.author}</a>

    变为

 1                  <%--url标签会自动对参数进行url编码 --%>
 2                     <c:url value="/BookServlet"var="authorUrl">
 3                         <c:param name="method" value="findByAuthor"></c:param>
 4                         <c:param name="author" value="${book.author }"></c:param>       
 6                     </c:url>
 7                     <p>
 8                         <a href="${authorUrl }" name='P_zz'
 9                             title='Craig Walls'>${book.author }</a>
10                     </p>

 14两张表的单独操作考虑将他放到一个事物中处理。

 1  try{
 2           JdbcUtils.beginTransaction();
 3           PageBean<Order> pb=orderDao.findByUser(uid, pc);          
 4           JdbcUtils.commitTransaction();
 5           return pb;
 6           
 7       }catch(SQLException e)
 8       {
 9           try {
10             JdbcUtils.rollbackTransaction();
11         } catch (SQLException e1) {
12             throw new RuntimeException(e);
13         }  
14           
15       }

 

posted @ 2015-08-28 20:57  尾巴草  阅读(294)  评论(0编辑  收藏  举报