重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Java中怎么保护服务器安全,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
10多年的稷山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整稷山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“稷山网站设计”,“稷山网站推广”以来,每个客户项目都认真落实执行。
在一个web应用程序提出多个数据库在一个事务范围内进行操作的请求以后(这个请求就是通过UserTransaction发出),就会发送到Tomcat上,而Tomcat中已经配置了事务管理器(就是TransactionManager),那么就由Java编程加密事务管理器处理这个请求,执行两阶段提交协议,想各个数据库进行提交,而这些数据库驱动和以往的数据库驱动有不同,是支持JTA的驱动,下面是一段示例代码
<%@page contentType="text/html;charset=GB2312"%> <%@page import="java.sql.*"%> <%@page import="javax.sql.*"%> <%@page import="javax.naming.*"%> <%@page import="javax.transaction.UserTransaction"%> <% ResultSet rs = null; Statement stmt = null; UserTransaction ut = null; Connection conn = null; try { Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/framework"); ut = (UserTransaction)initCtx.lookup("java:comp/UserTransaction"); conn = ds.getConnection(); ut.begin(); System.out.println("<<< beginning the transaction >>>"); stmt = conn.createStatement( // ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE ); rs = stmt.executeQuery("SELECT PRICE FROM TM_PRODUCT WHERE ID=1"); rs.next(); } catch(Exception e) {e.printStackTrace();} %> Original price: <%=rs.getString("price")%>
After update: <% PreparedStatement pstmt = conn.prepareStatement("update tm_product set price=? where id=1"); pstmt.setInt(1,101); pstmt.executeUpdate(); rs = stmt.executeQuery("SELECT PRICE FROM TM_PRODUCT WHERE ID=1"); rs.next(); %> <%=rs.getString("price")%>
After Rollback: <% System.out.println("<<< rolling back the transaction >>>"); ut.rollback();//Or ut.commit(); rs = stmt.executeQuery("SELECT PRICE FROM TM_PRODUCT WHERE ID=1"); rs.next(); %> <%=rs.getString("price")%> <%conn.close();%>
关于Java中怎么保护服务器安全问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。