|
|
51CTO旗下网站
|
|
移动端

1.4.4 Java 应用(1)

《Microsoft Azure 管理与开发(下册)平台服务PaaS》本书由世纪互联蓝云Microsoft Azure 开发技术支持团队的资深工程师们编写,主要阐述MicrosoftAzure PaaS 服务的开发应用,涉及计算服务、集成认证服务、数据存储服务、大数据服务等方面的内容。本节为大家介绍Java 应用。

作者:世纪互联蓝云公司来源:电子工业出版社|2018-07-09 17:07

1.4.4 Java 应用(1)

1. Java 应用先决条件

(1) 安装Eclipse。

(2) 安装Azure Toolkit for Eclipse(具体参考下面的链接:https://www.Azure.cn/documentation/articles/Azure-toolkit-for-eclipse-installation/)。

使用Eclipse 创建简单Web 应用并输出hello world。

(1) 打开Eclipse,单击File-new-Dynamic Web Project,打开窗口并如图1.4.4-1 所示进行设置。

(2) 在WebContent 目录下创建一个jsp 页面,比如,创建一个简单的index.jsp 文件并输出hello world,内容如下:

  1. <%@ page language="Java" contentType="text/html; charset=ISO-8859-1"  
  2. pageEncoding="ISO-8859-1"%> 
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
  4. "http://www.w3.org/TR/html4/loose.dtd"> 
  5. <html> 
  6. <head> 
  7. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
  8. <title>Insert title here</title> 
  9. </head> 
  10. <body> 
  11. <%out.println("<h1>Hello World!"); %> 
  12. </body> 
  13. </html> 

2. 发布到Azure

首先需要在Azure 管理门户网站的“应用程序设置”页面,选择Java 的版本以及容器,如图1.4.4-2 所示。

对于Java 而言,可以通过FTP 或者上传war 文件的方式发布到Azure 上。

上传war 包有以下2 种方式。

(1) 通过FTP 上传war 包,上传路径为site/wwwroot/Webapp 下,解压成功之后,再将解压出来的文件copy 到root 目录下。

(2) 通过Kudu 上传,直接将war 包拖曳到site/wwwroot/WebApp/root 目录下,如图1.4.4-3 中红色区域所示的位置。

通过FTP 上传文件的方式:

登录到FTP(FTP 的登录方式请参考1.1.5 节),将Java 项目文件上传到site/wwwroot/Webapp/root 目录下即可。

除了可以使用Azure 默认的Tomcat 以及JDK 外,还可以上传自定义的Tomcat 以及JDK。具体步骤如下。

(1) 下载全新的Apache Tomcat,解压并修改conf/server.xml 配置文件,可以在此添加自己的配置,如图1.4.4-4 所示。

将port 改成-1,如图1.4.4-5 所示。

将Http-connect port 改成${port.http},如图1.4.4-6 所示。

注释 AJP 和https 连接,如图1.4.4-7 所示。

将host 改变为127.0.0.1,并将AppBase 定位到wwwroot 下的webapps 目录。

Appbase 定位的是"../../webapps"那项目文件应该放在site→wwwroot→webapps→ROOT 目录下。

若Appbase 定位的是"Webapps"那项目文件应该放在/site/wwwroot/bin/apache-tomcat- <Version>/webapps/root 中。

(2) conf/catalina.properties 文件,加入Java.net.preferIPv4Stack=true。

(3) 上传Tomcat/Java 目录到site/wwwroot/ bin,如图1.4.4-8 所示。

(4) 在site/wwwroot 目录下上传Web.config内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <configuration> 
  3. <system.WebServer> 
  4. <handlers> 
  5. <add name="httpPlatformHandler" path="*" verb="*" modules="  
  6. httpPlatformHandler" resourceType="Unspecified" /> 
  7. </handlers> 
  8. <httpPlatform processPath= " %HOME%\site\wwwroot\bin\tomcat\bin\  
  9. startup.bat" arguments=""> 
  10. <environmentVariables> 
  11. <environmentVariable name="CATALINA_OPTS" value="-Dport.http 
  12. =%HTTP_PLATFORM_PORT%" /> 
  13. <environmentVariable name="CATALINA_HOME" value="%HOME%\site\  
  14. wwwroot\bin\tomcat" /> 
  15. <environmentVariable name= " JRE_HOME " value= " D:\home\site\wwwroot\  
  16. bin \Java\jdk1.6.0_45\jre6" /> 
  17. <environmentVariable name= " JAVA_OPTS " value= " -DJava.net.  
  18. preferIPv4Stack=true" /> 
  19. </environmentVariables> 
  20. </httpPlatform> 
  21. </system.WebServer> 
  22. </configuration> 

(5) 重启Website。

具体参数的意义和更多内容请参考以下链接:

https://Azure.microsoft.com/en-us/documentation/articles/Web-sites-Java。-custom-upload/?rnd=1

https://www.Azure.cn/zh-cn/documentation/articles/Web-sites-Java-custom-uploadJava Web 链接SQL Database。

在管理门户的数据库页面顶部单击“设置服务器的防火墙”和“添加客户端IP”,并在“允许访问Azure 服务”右侧单击“打开”,如图1.4.4-9 所示。

具体代码如下:

  1. import Java.sql.Connection;  
  2. import Java.sql.DriverManager;  
  3. import Java.sql.PreparedStatement;  
  4. import Java.sql.ResultSet;  
  5. import Java.sql.Statement;  
  6. public class connectsqlserver {  
  7. // Connect to your database.  
  8. // Replace server name, username, and password with your credentials  
  9. public static void main(String[] args) {  
  10. String connectionString =  
  11. "jdbc:sqlserver://klrjjpjrer.database.chinacloudapi.cn:1433;"  
  12. + "database=zyndbnotdel;"  
  13. + "user=zynsalserver@klrjjpjrer;"  
  14. + "password=zyn1234#;"  
  15. + "encrypt=true;"  
  16. + "trustServerCertificate=true;"  
  17. + "hostNameInCertificate=*.database.chinacloudapi.cn;"  
  18. + "loginTimeout=30;";  
  19. // Declare the JDBC objects.  
  20. Connection connection = null;  
  21. Statement statement = null;  
  22. ResultSet resultSetnull;  
  23. PreparedStatement prepsInsertProductnull;  
  24. try {  
  25. connection = DriverManager.getConnection(connectionString);  
  26. // //create and execute a select sql statement  
  27. // String selectSql = "SELECT TOP 4 Title,FirstName,LastName from  
  28. Sales";  
  29. // statement = connection.createStatement();  
  30. // resultSet = statement.executeQuery(selectSql);  
  31. //  
  32. //  
  33. // //print results from select statement  
  34. // while(resultSet.next())  
  35. // {  
  36. // System.out.println(resultSet.getString(1)+ " "  
  37. +resultSet.getString(2));  
  38. ////  
  39. // }  
  40. //System.out.println("successful");  
  41. //// System.out.println("1");  
  42. //create and execute an insert sql prepared statement.  
  43. String insertSql="INSERT INTO Sales1(Name,ProductNumber,Color,  
  44. StandardCost,ListPrice,SellStartDate) VALUES"+"('NewBike','BikeNew','Blue',  
  45. 50,120,'2016-10-21');";  
  46. prepsInsertProduct =  
  47. connection.prepareStatement(insertSql,Statement.RETURN_GENERATED_KEYS);  
  48. prepsInsertProduct.execute();  
  49. //Retrieve the generate key from the insert  
  50. resultSetprepsInsertProduct.getGeneratedKeys();  
  51. //print the ID of the inserted row  
  52. while(resultSet.next()){  
  53. System.out.println("Generated:"+resultSet.toString());  
  54. }  
  55. }  
  56. catch (Exception e) {  
  57. e.printStackTrace();  
  58. }  
  59. finally {  
  60. // Close the connections after the data has been handled.  
  61. if (connection != null) try { connection.close(); } catch(Exception e)  
  62. {}  
  63. if (statement != null) try { statement.close(); } catch(Exception e)  
  64. {}  
  65. if (resultSet != null) try { resultSet.close(); } catch(Exception e)  
  66. {}  
  67. if (prepsInsertProduct != null) try { prepsInsertProduct.close(); }  
  68. catch(Exception e) {}  
  69. }  
  70. }  


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

解密SEO:搜索引擎优化与网站成功战略

本书是作者根据十年网站营销经验,特别是搜索引擎优化(SEO)实现营销方面的技术和实践总结。本书帮助读者建立搜索营销的概念,分析搜索营...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊