zoukankan      html  css  js  c++  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>  
    以上就对Java编程加密的详细介绍。

  • 相关阅读:
    代码整洁之道它山之玉可以重构:身份证号码解析、验证工具(第一天)
    这也是C#代码吗 代码阅读性进阶:测试文档化
    它山之玉可以重构:身份证号码解析、验证工具(第三天)
    它山之玉可以重构:身份证号4(第四天)
    自己动手写压力测试三剑客HttpClient+Async+Parallel
    三层架构,够不够DDD眼中的三层(附C#源代码实现)
    百般武艺为哪般再谈业务域的核心地位
    深入浅出裸测之道单元测试的单元化
    它山之玉可以重构:身份证号码解析、验证工具(第二天)
    重构之重与敏捷之轻身份证号重构回顾
  • 原文地址:https://www.cnblogs.com/cksis/p/2482955.html
Copyright © 2011-2022 走看看