• Java编程:通过加密来保护服务器安全


      我们在使用Java编程加密的时候需要注意很多的知识,下面我们就来看看如何应对Java编程加密中的相关问题,希望大家有所收获。服务器配置了JTA支持以后(tomcat配置的是JOTM)。
          在一个web应用程序提出多个数据库在一个事务范围内进行操作的请求以后(这个请求就是通过UserTransaction发出),就会发送到Tomcat上,而Tomcat中已经配置了事务管理器(就是TransactionManager),那么就由Java编程加密事务管理器处理这个请求,执行两阶段提交协议,想各个数据库进行提交,而这些数据库驱动和以往的数据库驱动有不同,是支持JTA的驱动,下面是一段示例代码
    1. <%@page contentType="text/html;charset=GB2312"%>  
    2. <
    %@page import="java.sql.*"%>  
    3. <
    %@page import="javax.sql.*"%>  
    4. <
    %@page import="javax.naming.*"%>  
    5. <
    %@page import="javax.transaction.UserTransaction"%>  
    6. <%  
    7. ResultSet rs = null;  
    8. Statement stmt = null;  
    9. UserTransaction ut = null;  
    10. Connection conn = null;  
    11. try {  
    12. Context initCtx = new InitialContext();  
    13. Context envCtx = (Context) initCtx.lookup("java:comp/env");  
    14. DataSource ds = (DataSource) envCtx.lookup("jdbc/framework");  
    15. ut = (UserTransaction)initCtx.lookup("java:comp/UserTransaction");  
    16. conn = ds.getConnection();  
    17. ut.begin();  
    18. System.out.println("<<< beginning the transaction >>>");  
    19. stmt = conn.createStatement(  
    20. // ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE  
    21. );  
    22. rs = stmt.executeQuery("SELECT PRICE FROM TM_PRODUCT WHERE ID=1");  
    23. rs.next();  
    24. } catch(Exception e) {e.printStackTrace();}  
    25. %>  
    26. <html>  
    27. <body>  
    28. Original price:  
    29. <%=rs.getString("price")%>  
    30. <br>After update:  
    31. <%  
    32. PreparedStatement pstmt = conn.prepareStatement("update tm_product set price=? where id=1");  
    33. pstmt.setInt(1,101);  
    34. pstmt.executeUpdate();  
    35. rs = stmt.executeQuery("SELECT PRICE FROM TM_PRODUCT WHERE ID=1");  
    36. rs.next();  
    37. %>  
    38. <%=rs.getString("price")%>  
    39. <br>After Rollback:  
    40. <%  
    41. System.out.println("<<< rolling back the transaction >>>");  
    42. ut.rollback();//Or ut.commit();  
    43. rs = stmt.executeQuery("SELECT PRICE FROM TM_PRODUCT WHERE ID=1");  
    44. rs.next();  
    45. %>  
    46. <%=rs.getString("price")%>  
    47. <%conn.close();%>  
    48. </body>  
    49. </html> 

  • 相关阅读:
    light_oj 1197 区间素数筛
    light_oj 1213
    light_oj 1220 素数分解
    bestcoder#43 1002 在数组中找两个数的和取模的最大值 二分
    6月7日 bc总结
    省赛总结
    二分图最大点权独立集 二分图最大点权覆盖
    终于能理解kmp算法了
    hduoj2087 统计串t在串s中出现的次数,重叠不算 KMP
    带权二分图的最大权匹配 KM算法模版
  • 原文地址:https://www.cnblogs.com/cksis/p/2425533.html
Copyright © 2020-2023  润新知