50 câu hỏi phỏng vấn JSP hàng đầu & Câu trả lời

Anonim

tải PDF

1) Giải thích JSP và cho biết cách sử dụng của nó.

JSP là viết tắt của Java Server Pages. Nó là một công nghệ lớp trình bày độc lập với nền tảng. Nó đi kèm với nền tảng J2EE của SUN. Chúng giống như các trang HTML nhưng với các đoạn mã Java được nhúng trong đó. Chúng được lưu bằng phần mở rộng .jsp. Chúng được biên dịch bằng trình biên dịch JSP ở chế độ nền và tạo Servlet từ trang.

2) Yêu cầu của thư viện thẻ là gì?

Tập hợp các thẻ tùy chỉnh được gọi là Thư viện thẻ. Các tác vụ định kỳ được xử lý dễ dàng hơn và được sử dụng lại trên nhiều ứng dụng để tăng năng suất. Chúng được sử dụng bởi các nhà thiết kế Ứng dụng Web, những người tập trung vào trình bày hơn là truy cập cơ sở dữ liệu hoặc các dịch vụ khác. Một số thư viện phổ biến là thư viện thẻ chuỗi và thư viện thẻ hiển thị Apache.

3) Giải thích Công nghệ JSP.

JSP là một phần mở rộng tiêu chuẩn của Java và được định nghĩa trên phần mở rộng Servlet. Mục tiêu của nó là đơn giản hóa việc quản lý và tạo các trang web động. Nó độc lập với nền tảng, an toàn và sử dụng Java làm ngôn ngữ kịch bản phía máy chủ.

4) Giải thích các đối tượng ngầm trong JSP.

Các đối tượng được tạo bởi vùng chứa web và chứa thông tin liên quan đến một yêu cầu, ứng dụng hoặc trang cụ thể được gọi là Đối tượng ngầm. Họ đang :

  • phản ứng
  • ngoại lệ
  • ứng dụng
  • yêu cầu
  • phiên họp
  • trang
  • ngoài
  • cấu hình
  • pageContext

5) Làm cách nào để ngăn chặn nhiều lần gửi do nhấp vào nút làm mới?

Sử dụng Post / Redirect / Get hoặc mẫu PRG, vấn đề này có thể được giải quyết.

1) Biểu mẫu do người dùng điền sẽ được gửi đến máy chủ bằng phương thức POST hoặc GET. Trạng thái trong cơ sở dữ liệu và mô hình kinh doanh được cập nhật.

2) Một phản hồi chuyển hướng được sử dụng để trả lời bởi servlet cho một trang xem.

3) Chế độ xem được tải bởi trình duyệt bằng lệnh GET và không có dữ liệu người dùng nào được gửi. Điều này an toàn với nhiều lần gửi vì nó là một trang JSP riêng biệt.

6) Công nghệ JSP có thể mở rộng không?

Có, JSP có thể dễ dàng mở rộng bằng cách sử dụng và sửa đổi các thẻ, hoặc các hành động tùy chỉnh, được gói gọn trong các thư viện thẻ.

7) Phân biệt giữa response.sendRedirect (url) và

…>.

Phần tử chuyển tiếp đối tượng yêu cầu từ 1 tệp JSP sang tệp khác. Tệp đích có thể là HTML, servlet hoặc một tệp JSP khác, nhưng nó phải ở trong cùng ngữ cảnh ứng dụng với tệp JSP chuyển tiếp.

sendRedirect gửi phản hồi chuyển hướng tạm thời HTTP đến trình duyệt. Sau đó, trình duyệt tạo một yêu cầu mới cho trang được chuyển hướng. Nó giết các biến phiên.

8) Một yêu cầu tiếp theo có thể được truy cập bằng mã servlet của một người không, nếu một thuộc tính yêu cầu đã được gửi trong JSP của anh ta?

Yêu cầu vượt ra ngoài phạm vi, do đó, nó không thể được truy cập. Tuy nhiên, nếu một thuộc tính yêu cầu được đặt trong servlet của một người, thì nó có thể được truy cập trong JSP của anh ta.

JSP là một thành phần phía máy chủ và trang được dịch sang một servlet Java, sau đó được thực thi. Chỉ mã HTML được cung cấp dưới dạng đầu ra.

9) Làm thế nào để bao gồm các tệp tĩnh trong một trang JSP?

Các trang tĩnh luôn được bao gồm bằng cách sử dụng chỉ thị bao gồm JSP. Bằng cách này, việc đưa vào được thực hiện trong giai đoạn dịch một lần. Lưu ý rằng URL tương đối phải được cung cấp cho thuộc tính tệp. Mặc dù tài nguyên tĩnh có thể được đưa vào, nhưng nó không được ưu tiên vì mỗi yêu cầu đều yêu cầu bao gồm.

10) Tại sao JComponent có các phương thức add () và remove () nhưng Component thì không?

JComponent là một lớp con của Container. Nó chứa các Thành phần và JComponents khác.

11) Làm cách nào để triển khai một trang JSP an toàn theo luồng?

Nó có thể được thực hiện bằng cách triển khai chúng bằng Giao diện SingleThreadModel. Thêm chỉ thị <% @ page isThreadSafe = ”false”%> vào trang JSP.

12) Làm cách nào để trình duyệt có thể ngăn chặn đầu ra của trang JSP hoặc trang servlet được lưu vào bộ đệm?

Sử dụng các thuộc tính tiêu đề HTTP thích hợp để ngăn trình duyệt lưu vào bộ nhớ đệm của đầu ra nội dung động của một trang JSP.

13) Làm thế nào để hạn chế lỗi trang hiển thị trong một trang JSP?

Bằng cách thiết lập thuộc tính “ErrorPage” của thư mục PAGE thành tên của trang lỗi trong trang JSP, và sau đó trong tập hợp trang jsp lỗi “isErrorpage =” TRUE ”, lỗi có thể ngừng hiển thị.

14) Hành động JSP là gì?

Chúng là các thẻ XML, hướng máy chủ đến việc sử dụng các thành phần hiện có hoặc hành vi điều khiển của JSP Engine. Chúng bao gồm một tiền tố điển hình là “jsp:” và tên hành động.

15) Phân biệt giữa và <% @ include file =…>.

Cả hai thẻ này đều bao gồm thông tin từ trang này sang trang khác.

Thẻ đầu tiên hoạt động như một lệnh gọi hàm giữa hai Jsp. Nó được thực thi mỗi khi khách hàng truy cập trang khách hàng. Nó rất hữu ích để mô-đun hóa ứng dụng web. Nội dung mới được đưa vào đầu ra.

Nội dung thẻ thứ hai của tệp được nhúng văn bản có chỉ thị tương tự. Nội dung thay đổi không được bao gồm trong đầu ra. Sẽ rất hữu ích khi mã từ một jsp được yêu cầu bởi một số jsp.

16) Có thể sử dụng phương thức khởi tạo thay cho init () để khởi tạo servlet không?

Có, nó là có thể. Nhưng nó không được ưa thích vì init () đã được phát triển vì các phiên bản Java trước đó không thể gọi các hàm tạo với các đối số một cách động. Vì vậy, họ không thể gán một servletConfig. Tuy nhiên, ngày nay, các thùng chứa servlet vẫn chỉ gọi hàm tạo no-arg. Vì vậy, không có quyền truy cập vào servletContext hoặc servletConfig.

17) Giải thích các phương pháp vòng đời. 1)

jsplnit () : Vùng chứa gọi điều này để khởi tạo cá thể servlet. Nó chỉ được gọi một lần cho cá thể servlet và đứng trước mọi phương thức khác. 2)

_jspService () : Vùng chứa gọi điều này cho mỗi yêu cầu và chuyển nó cho các đối tượng. 3)

jspDestroy () : Nó được gọi bởi vùng chứa ngay trước khi phá hủy cá thể.

18) Giải thích các nhận xét Đầu ra JSP?

Chúng là những nhận xét có thể được xem trong Tệp nguồn HTML.

19) Xác định Biểu thức

Thẻ biểu thức được sử dụng để chèn các giá trị Java trực tiếp vào đầu ra. Cú pháp của nó là

<% = biểu thức%>

Nó chứa một biểu thức ngôn ngữ kịch bản được đánh giá, sau đó được chuyển đổi thành một chuỗi và sau đó được chèn vào nơi biểu thức có trong tệp JSP.

20) Xác định thành phần.

Thành phần có mối quan hệ chặt chẽ với đối tượng hơn Tổng hợp.

21) Định nghĩa JSP Scriptlet.

Đây là một thẻ JSP chứa mã Java trong các trang JSP. Cú pháp của chúng là <%%>. Mã được viết bằng scriptlet thực thi mỗi khi chương trình được chạy.

22) Làm thế nào để thông tin từ JSP này có thể được chuyển sang JSP khác?

Thẻ cho phép chúng ta chuyển thông tin giữa nhiều Jsp.

23) Giải thích công dụng của thẻ .

id="beanInstName"scope= "page | application"class="ABC.class" type="ABC.class"

Thẻ này tạo một phiên bản của java bean. Trước hết, nó cố gắng tìm xem liệu cá thể bean đã tồn tại hay chưa và gán cho các cửa hàng một tham chiếu trong biến. Loại cũng được chỉ định; nếu không thì nó khởi tạo từ lớp được chỉ định lưu trữ một tham chiếu trong biến mới.

24) Giải thích việc xử lý các ngoại lệ thời gian chạy.

Thuộc tính Errorpage được sử dụng để bỏ khớp các ngoại lệ thời gian chạy được chuyển tiếp tự động đến trang xử lý lỗi.

Nó chuyển hướng trình duyệt đến lỗi trang JSP.jsp nếu có bất kỳ ngoại lệ nào chưa được giải quyết trong quá trình xử lý yêu cầu. Đây là một trang xử lý lỗi.

25) Tại sao _jspService () bắt đầu bằng dấu '_' nhưng các phương thức vòng đời khác thì không?

Bất kỳ nội dung nào được tạo trong trang jsp đều đi vào bên trong phương thức _jspService () bởi vùng chứa. Nếu nó bị ghi đè, trình biên dịch sẽ báo lỗi, nhưng 2 vòng đời còn lại có thể dễ dàng ghi đè. Vì vậy, '_' cho thấy rằng chúng ta không thể ghi đè phương thức này.

26) Giải thích các giá trị phạm vi khác nhau cho thẻ .

Thẻ được sử dụng để sử dụng bất kỳ đối tượng java nào trong trang jsp. Một số giá trị phạm vi là:

1) ứng dụng

2) yêu cầu

3) trang

4) phiên

27) Hiển thị 2 loại nhận xét trong JSP.

Hai loại là:

<%-JSP Comment-%>

28) Phương thức Static có thể bị ghi đè không?

Chúng ta có thể khai báo các phương thức tĩnh với cùng một chữ ký trong lớp con, nhưng nó không được coi là ghi đè vì sẽ không có bất kỳ tính đa hình thời gian chạy nào. Do đó câu trả lời là "Không".

29) Giải thích các chỉ thị JSP.

Các chỉ thị JSP là các thông báo tới JSP Engine. Chúng đóng vai trò như một thông điệp từ trang này sang vùng chứa và kiểm soát quá trình xử lý của toàn bộ trang. Họ có thể đặt các giá trị toàn cục như khai báo lớp. Chúng không tạo ra đầu ra và được bao bọc trong <% @….%>

30) Giải thích Chỉ thị pge.

Chỉ thị trang thông báo cho Công cụ JSP về các tiêu đề và cơ sở mà trang nhận được từ môi trường. Nó được tìm thấy ở đầu tất cả các trang JSP. Cú pháp của nó là <% @ page thuộc tính = ”value”>

31) Hiển thị các thuộc tính của chỉ thị trang.

1) Phiên: Nó cho biết nếu dữ liệu phiên có sẵn cho trang.

2) Nhập: nó hiển thị các gói được nhập.

3) isELIgnored: Nó cho biết liệu các biểu thức EL có bị bỏ qua khi JSP chuyển thành một servlet hay không.

4) contentType: nó cho phép người dùng chỉ định loại nội dung của trang.

32) Chỉ thị Bao gồm là gì?

Chỉ thị include chèn tĩnh nội dung của tài nguyên vào JSP hiện tại. Nó giúp tái sử dụng mã mà không bị trùng lặp. và bao gồm nội dung của tệp tại thời điểm dịch. Cú pháp của nó như sau <% @ include file = ”Filename”%>.

33) Các hành động tiêu chuẩn trong JSP là gì?

Chúng ảnh hưởng đến hành vi thời gian chạy tổng thể của một trang và phản hồi được gửi đến máy khách. Chúng được sử dụng để bao gồm một tệp khi có yêu cầu, để khởi tạo một JavaBean hoặc tìm một tệp. Chúng cũng được sử dụng để tạo mã dành riêng cho trình duyệt hoặc chuyển tiếp yêu cầu đến một trang mới.

34) Giải thích hành động jsp: setProperty.

Nó được sử dụng để cung cấp giá trị cho các thuộc tính của bean đã được tham chiếu trước.

jsp: setproperty được thực thi ngay cả khi một bean mới được khởi tạo hoặc tìm thấy bean hiện có.

Bằng cách thêm vào cuối mã, điều kiện để thực thi bị đảo ngược tức là Nó không được thực thi nếu tìm thấy đối tượng hiện có và chỉ khi một đối tượng mới được khởi tạo.

35) Xác định khối tĩnh.

Nó được sử dụng để khởi động thành viên dữ liệu tĩnh. Nó được thực thi trước khi tải lớp.

36) Giải thích jsp: plugin action.

Hành động này giúp chèn một đối tượng cụ thể trong trình duyệt hoặc nhúng phần tử cần thiết để chỉ định chạy applet bằng cách sử dụng plugin Java.

37) Giải thích xác thực phía máy khách và máy chủ.

Javascript được sử dụng để xác thực phía máy khách. Nó diễn ra trong trình duyệt. Javascript được sử dụng để gửi dữ liệu biểu mẫu nếu xác nhận thành công. Lỗi xác thực yêu cầu không có kết nối mạng bổ sung vì không thể gửi biểu mẫu.

Việc xác thực cũng được thực hiện trong máy chủ sau khi gửi. Nếu xác thực không thành công, cần có thêm chuyến đi mạng để gửi lại biểu mẫu cho máy khách.

38) Giai đoạn Dịch là gì?

Công cụ JSP dịch và biên dịch một tệp JSP sang một servlet. Servlet này chuyển sang giai đoạn thực thi, nơi các yêu cầu và phản hồi được xử lý. Chúng được biên dịch lần đầu tiên chúng được truy cập trừ khi được biên dịch thủ công trước thời hạn. Việc biên dịch thủ công hoặc rõ ràng rất hữu ích cho các chương trình dài và phức tạp.

39) Thực hiện Chuyển hướng Trình duyệt từ Trang JSP.

<% response.sendRedirect(URL); %>

hoặc chúng ta có thể thay đổi vị trí của thuộc tính tiêu đề HTTP như sau:

<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>

40) Cung cấp cách sử dụng Nhân bản đối tượng.

Nhân bản đối tượng được sử dụng để tạo bản sao chính xác của một đối tượng bằng cách nhập cùng một mã hoặc sử dụng nhiều kỹ thuật khác.

41) Cách chuyển tiếp một yêu cầu đến một nguồn khác.

42) Làm cách nào để ngăn chặn việc tạo tự động phiên trong một trang JSP?

Trang JSP tự động tạo phiên cho các yêu cầu. Bằng cách gõ sau đây, nó có thể được tránh.

<%@ page session=”false” %>

43) Làm thế nào bạn có thể tránh mã scriptlet trong JSP?

JavaBeans hoặc Thẻ tùy chỉnh có thể được sử dụng thay cho mã scriptlet.

44) Giải thích phương thức jspDestroy ().

Bất cứ khi nào một trang JSP sắp bị hủy, vùng chứa sẽ gọi phương thức jspDestroy () từ giao diện javax.servlet.jsp.JspPage. Các phương thức phá hủy Servlet cũng tương tự như nó. Nó có thể dễ dàng bị ghi đè để thực hiện dọn dẹp, như khi đóng kết nối cơ sở dữ liệu.

45) Giải thích hành động .

Nó là một hành động được sử dụng với các hành động tiêu chuẩn bao gồm hoặc chuyển tiếp. Nó giúp chuyển các tên và giá trị tham số đến một tài nguyên.

46) Giải thích phương pháp tĩnh.

Phương thức static là của lớp chứ không phải đối tượng của lớp. Nó có thể được gọi mà không cần thể hiện của một lớp. Các thành viên tĩnh cũng có thể truy cập dữ liệu tĩnh và thay đổi giá trị của nó.

47) Làm thế nào để vô hiệu hóa tập lệnh?

Có thể dễ dàng vô hiệu hóa tập lệnh bằng cách đặt phần tử kịch bản-không hợp lệ của bộ mô tả triển khai thành true. Nó là một phần tử phụ của nhóm thuộc tính. Nó cũng có thể là sai.

48) Định nghĩa Khai báo JSP.

Khai báo JSP là các thẻ được sử dụng để khai báo các biến. Chúng được đặt trong thẻ <%!%>. Chúng được sử dụng để khai báo các hàm và biến.

<%@page contentType=”text/html” %><%!int a=0;private int getCount(){a++;return a;}%>

Values of a are:

<%=getCount()%>

49) Làm cách nào để Ngăn chặn Đầu ra HTML được lưu vào bộ nhớ đệm?

<%response.setHeader("Cache-Control", "no=store");response.setDateHeader("Expires", 0);%>

50) JSP tốt hơn công nghệ Servlet như thế nào?

JSP là một công nghệ ở phía máy chủ để làm cho việc tạo nội dung trở nên đơn giản. Chúng là trung tâm của tài liệu, trong khi các servlet là các chương trình. Một trang máy chủ Java có thể chứa các đoạn chương trình Java, chúng thực thi và khởi tạo các lớp Java. Tuy nhiên, chúng xảy ra bên trong tệp mẫu HTML. Nó cung cấp khuôn khổ để phát triển một Ứng dụng Web.