เจเอสพี (JSP = Java Server Page)

เจเอสพี (JSP = Java Server Page)

ภาษาเจเอสพี (JSP = Java Server Pages) คือ ภาษาสคริปต์ที่ทำงานบนเครื่องบริการ เช่นเดียวกับภาษา perl, php หรือ asp มีโครงสร้างภาษาแบบจาวา หรือภาษาซี โดยมีตัวแปลภาษาที่ถูกพัฒนาโดยบริษัทซันไมโครซิสเต็ม ซึ่งเป็นเทคโนโลยีของจาวา สำหรับสร้างรหัสเอชทีเอ็มแอล (HTML) หรือตามที่ผู้ใช้ร้องขอ มีตัวแปลภาษาคือ Tomcat Apache และ Java Compiler เริ่มพัฒนา ค.ศ.2000 โดย James Duncan Davidson  ตัวแปลภาษาจะสร้างเซิร์ฟเร็ท (Servlet) และเปลี่ยนเป็นไบท์โค้ด (Byte Code) สำหรับถูกเรียกใช้ครั้งต่อไปจาก JSP Source Code

 

 

 

1 องค์ประกอบของ JSP

ภาษาเจเอสพี ไม่มีองค์ประกอบที่ซับซ้อนอย่างภาษาจาวา หรือการเขียนแบบ Servlet แต่การเขียนจะคล้ายกับภาษาสคริปต์อย่าง ภาษา PHP หรือ ASP โดยมุ่งสร้างรหัสภาษา HTML เพื่อแสดงผลในโปรแกรมประเภทบราวเซอร์ เช่น อินเทอร์เน็ตเอ็กโพเลอร์ (Internet Explorer) หรือไฟร์ฟอกซ์ (FireFox)

การเขียนแบบที่ 1 มีเพียงภาษา HTML

<body>

hello

</body>

การเขียนแบบที่ 2 มีภาษา JSP แรกในภาษา HTML

<body><pre>

<%

Random r = new Random();

out.println(r.nextInt(10));

%>

</pre></body>

 

การเขียนแบบที่ 3 มีภาษา HTML แรกในภาษา JSP

<%

for (int i=1;i<=10;i++)

{

out.println(i + “<br>”);

}

%>

 

2 Servlet

Java Servlet คือ ภาษาจาวาที่ผ่านการแปลให้เป็น Servlet จนได้แฟ้ม .class และแก้ไขแฟ้ม web.xml เพื่อให้สามารถเรียกใช้ผ่าน Web Browser การทำงานของ Servlet จะตอบสนองเร็วกว่าภาษา JSP ที่ต้องมีการ Compile เป็น Servlet แล้วถูกโหลดเข้าสู่หน่วยความจำก่อนประมวลผล แล้วตอบสนองให้กับผู้ใช้

การแปลโปรแกรม

DOS> cd c:\Tomcat5\webapps\servlets-examples\WEB-INF\classes

DOS> path=%path%;c:\j2sdk1.4.0_03\bin

DOS> javac -classpath c:\Tomcat5\common\lib\servlet-api.jar hi.java

แก้ไขแฟ้ม web.xml โดยเพิ่มบรรทัดต่อไปนี้

<servlet>

<servlet-name>hi</servlet-name>

<servlet-class>hi</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>hi</servlet-name>

<url-pattern>/servlet/hi</url-pattern>

</servlet-mapping>

การประมวลผล

http://localhost:8080/servlets-examples/servlet/hi

 

 
ตัวอย่างแฟ้ม hi.java

import java.io.*;

import java.text.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class hi extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws IOException, ServletException

{

response.setContentType(“text/html”);

PrintWriter out = response.getWriter();

out.println(“<html><head>”);

String title = “hello”;

out.println(“<title>” + title + “</title></head>”);

out.println(“<body bgcolor=\”yellow\”>”);

out.println(title);

out.println(“</body></html>”);

}

}

3 JSP

การเขียนภาษา JSP ก็คล้ายกับภาษา PHP และ ASP สามารถเขียนตามหลักการโปรแกรมโครงสร้าง เรียกใช้คลาสที่มีในภาษาจาวาได้ สร้างวัตถุ ทำงานกับกราฟฟิกในแบบ applet หรือเชื่อมต่อฐานข้อมูลแบบได้ มีการนำไปใช้ในระดับองค์กรมากมาย เช่น ตลาดหลักทรัพย์  สำนักงานสถิติแห่งชาติ กรมศุลกากร เป็นต้น

ตัวอย่าง การรับส่งข้อมูลระหว่างฟอร์ม

<body>

<form action=testofif.jsp method=post>

<input name=x><input type=submit></form>

<%

String abc = request.getParameter(“x”);

if (abc == null)

out.println(“welcome”);

else

out.println(abc);

out.println(new java.util.Date());

%>

</body>

การเชื่อมต่อฐานข้อมูล ODBC ก็มีหลักการคล้ายกันโดยเริ่มจาก 1) เชื่อมต่อ connection 2) สร้างบรรทัดคำสั่ง statement 3) ประมวลผลเอสคิวแอล executeQuery 4) อ่านข้อมูลแต่ละระเบียนมาใช้

ตัวอย่าง การเชื่อมต่อกับฐานข้อมูล

<%@ page contentType=”text/html; charset=tis-620″ %>

<%@ page import=”java.sql.*” %>

<body>

<%

Connection connection;

Statement statement;

String sourceURL = “jdbc:odbc:empl”;

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

connection = DriverManager.getConnection(sourceURL);

statement = connection.createStatement();

String sql = “select * from empl”;

ResultSet myresult = statement.executeQuery(sql);

while (myresult.next()) {

out.println(myresult.getString(“emplname”) + “<br>”);

}

myresult.close();

%>

</body>