在伺服器端程式設計中,選擇 JavaScript 而不是 Java 是否合理,為什麼?


簡介

我們知道,隨著時間的推移,JavaScript 憑藉其多功能性和易用性獲得了普及。由於其可靠性、可擴充套件性和龐大的生態系統,Java 仍然是伺服器端程式設計的首選。

讓我們討論一下,為什麼選擇 Java 作為伺服器端程式語言而不是 JavaScript 是一個更好的選擇。我們將討論不同的方法來解釋 Java 的優勢。首先,我們將使用 Spring Boot 討論 Java 的穩定性和健壯性。然後我們將解釋 Java 的可擴充套件性和效能。最後,我們將解釋使用 JSP 在 Java 中進行伺服器端程式設計的優勢。通過了解這些方法,我們希望讀者能夠了解為什麼 Java 仍然是伺服器端程式設計的首選。

使用 Java 的穩定性和健壯性

在這個程式設計示例中,我們將看到使用 Java 的穩定性和健壯性。

示例

// Todo.java
public class Todo 
{
   private String title;
   private boolean completed;
}
// Control.java
@RestController
public class Control 
{
   private List<Todo> todos = new ArrayList<>();
   // API endpoint to retrieve all todos
   @GetMapping("/todos")
   public List<Todo> getTodos() {
      return todos;
   }
   // API endpoint to add a new todo
   @PostMapping("/todos")
   public Todo addTodo(@RequestBody Todo newTodo) {
      todos.add(newTodo);
      return newTodo;
   }
}
// Appli.java
@SpringBootApplication
public class Appli 
{
   public static void run(String args []) 
{
      SpringApplication.run (Application.class, args);
   }
}

這是一個非常簡單的程式。在這裡,我們定義了一個名為 Todo 的類,並在類中聲明瞭一些成員變數,例如“title”(字串型別)和“completed”(布林型別)。之後,我們聲明瞭另一個名為 Control 的類,並使用 API 端點透過編寫 public List<Todo> getTodos ( 來檢索所有待辦事項。

現在我們執行 springBootApplication 並建立另一個名為 Appli 的類。在這個類中,我們執行了 run 方法。

選擇 Java 進行可擴充套件的伺服器端程式設計

我們現在將藉助併發任務處理程式設計示例來討論 Java 的可擴充套件性和效能。

關於 Java 的可擴充套件性,我們將在本程式設計示例中提供一個簡單的示例。

示例

// Task.java
public interface Task {
   void execute();
}
// Taskmake.java
public class Taskmake implements Runnable {
   private BlockingQueue<Task> taskQueue;
   public Taskmake(BlockingQueue<Task> taskQueue) {
      this.taskQueue = taskQueue;
   }
   @Override
   public void run() {
      while (true) {
         try {
            Task task = taskQueue.take();
            task.execute();
         } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            break;
         }
      }
   }
}
// Runn.java
public class Runn
 {
   public static void runn (String args []) 
{
      BlockingQueue<Task> taskQueue = new LinkedBlockingQueue<>();
      // Create and start task threads we take 4 threads
      int totThread = 4;
      ExecutorService executor = Executors.newFixedThreadPool(totThread);
      for (int i = 0; i < totThread; i++) {
         executor.execute(new Taskmake(taskQueue));
      }
      // Submit tasks to the task queue
      taskQueue.add(() -> System.out.println("Task 1 executed"));
      taskQueue.add(() -> System.out.println("Task 2 executed"));
      taskQueue.add(() -> System.out.println("Task 3 executed"));
      // Shutdown threads
      executor.shutdown ();
   }
}

首先,我們定義了一個名為 Task 的介面,並在該介面中呼叫了一個名為 execute() 的函式。

然後,一個名為 TaskMake 的類實現了 Runnable 介面並完成了一些重要的編碼。

private BlockingQueue<Task> taskQueue;
   public Taskmake(BlockingQueue<Task> taskQueue)

之後,我們執行了 run() 方法並執行了 runn.java 檔案。在這裡,我們聲明瞭一個名為 Runn 的類,並在該類中呼叫 run() 函式。

BlockingQueue<Task> taskQueue = new LinkedBlockingQueue<>();

現在我們建立並啟動了任務執行緒,透過編寫程式碼建立了 4 個執行緒。

ExecutorService executor = Executors.newFixedThreadPool(totThread);

之後,我們將任務提交到任務佇列以完成所有任務。

taskQueue.add(() -> System.out.println("Task 1 executed"));
taskQueue.add(() -> System.out.println("Task 2 executed"));
taskQueue.add(() -> System.out.println("Task 3 executed"));

並透過呼叫名為 executor.shutdown() 的函式關閉所有執行緒。

使用 JSP 的 Java 伺服器端程式設計

Java Server Page (JSP) 是一種非常有用的工具,它允許我們透過在 HTML 模板中嵌入 Java 程式碼來建立動態網頁。它通常用於 Java Web 應用程式中的伺服器端程式設計。使用 Java 作為伺服器端程式語言比 JavaScript 提供了許多優勢。我們將展示一個基本的程式設計示例來了解使用 JSP 的 Java 伺服器端程式設計。

在這個特定的程式設計示例中,我們將建立一個 html 頁面,並編寫一些 html 程式碼以系統的方式為使用者設計頁面。

示例

<html>
<head>
<title>Register please!! </title>
</head>
<body>
<h1>Register here</h1>
<form method="post" action="RegistrationServlet">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required><br>
<label for="passwd">Passwd:</label>
<input type="passwd" id="passwd" name="passwd" required><br>
<label for="mailid">Mailid:</label>
<input type="mailid" id="mailid" name="mailid" required><br>
<input type="submit" value="Register">
</form>
</body>
</html>
** RegistrationServlet.java page **
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class RegistrationServlet extends HttpServlet
 {
   protected void doPost (HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException 
{
      String name = request.getParameter("name");
      String passwd = request.getParameter("passwd");
      String mailid = request.getParameter("mailid");
      response.sendRedirect("confirmation.jsp");
   }
}
** confirmation.jsp program**
<html>
<head>
<title>Success !!</title>
</head>
<body>
<h1>Registration Successful!</h1>
</body>
</html>

在這裡,我們使用了所有重要的 html 標籤,如 head、body、label、method、input type 等。在使用 html 完成所有設計後,我們建立了一個名為 RegistrationServlet.java 的頁面並匯入了一些重要的包。之後,我們定義了一個名為 RegistrationServlet 的類,它擴充套件了 Httpservlet 並將一些值初始化為 name、password、mailed 等。然後我們確認了 jsp 程式併成功地將頁面註冊到伺服器。

結論

描述了上面關於伺服器端程式設計的所有程式設計示例,我們清楚地認識到 Java 和 JavaScript 的用途完全不同。使用者需要哪種型別的軟體完全取決於使用者的需求。兩者在提供完美的軟體體驗方面具有相同的優先順序。

更新於:2023年10月4日

75 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.