วันศุกร์ที่ 19 กันยายน พ.ศ. 2557

เนื้อหาที่เกี่ยวข้องกับภาษา JSP

ข้อดีของภาษา JSP
1.ภาษา JSP สามารถทำงานได้กับระบบปฏิบัติการทุกตัว เรียกว่า Platform Independent
หมายถึง JSP จะไม่ขึ้นหรือยึดติดกับระบบปฏิบัติการทุกตัว เหมือนกับภาษาจาวา
2.ภาษา JSP เขียนง่าย เพราะด้วยมีพื้นฐานมาจาก Java เพียงแค่รับบท Server ทำให้คุณ สามารถนำเอาความรู้ด้าน Java มาเขียนได้อย่างสบาย
3.ภาษา JSP แยกการทำงานของโปรแกรม logic ออกจากในส่วนของการออกแบบหน้าเว็บ
ข้อเสียของภาษา JSP
1.ภาษา JSP ไม่สามารถทำงานร่วมกับภาษา PHP ได้
2.ภาษา JSP ต้องมีความรู้ในด้านการเขียนภาษา JAVA อย่างชำนาญ

การเขียนโปรแกรมใช้งานอย่างง่าย
    ตัวอย่างแฟ้ม a.jsp ที่สร้างขึ้นด้วย notepad
    <body><pre>
    <%
    for (int i=1;i<=10;i++)
    {
     out.println(i);
    }
    %>
    </pre></body>
    
    ตัวอย่างแฟ้ม b.jsp :: อ่านข้อมูลจาก DSN ใน ODBC มาแสดงผล
    <body>
    <%@ page import="java.sql.*" %>
    <%
      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("emplid") + "<br>");
      }     
      myresult.close();
    %>
    </body>
    

วิดิโอ



วันพุธที่ 17 กันยายน พ.ศ. 2557

ตัวอย่าง Code JSP



ตัวอย่างที่ 1 เว็บคำนวณอายุ และ ชั้นปี
ใช้  JSP สร้างหน้าเว็บเพื่อให้ผู้ใช้กรอกข้อมูล รหัสนักศึกษา ชื่อ คณะ ภาควิชา  E-mail และ วันเดือนปีเกิด แล้วรายงานสรุปแสดงข้อมูลของนักศึกษา โดยเพิ่มข้อมูลอายุ และ ชั้นปีด้วย (อายุคํานวณจากปีปัจจุบันลบปีเกิด ส่วนชั้นปีให้ดูรหัสเลขหน้า 2 ตัว เป็นปี พ.ศ. แรกเข้า เช่น นักศึกษารหัส 5410110999 ปัจจุบัน (เทอม 1/2556) อยู่ชั้นปี 3

--------------------------------------------------------
File html.jsp
--------------------------------------------------------
<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
<html>
<body>
<form name="frm" method="get" action="textInput.jsp">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
       <tr>
          <td width="22%">&nbsp;</td>
          <td width="78%">&nbsp;</td>
      </tr>
    <tr>
       <h1>STUDENT FORM : </h1>
       <td>Student ID:</td>
       <td><input type="text" name="id"></td>
    </tr> //สร้าง box เพื่อป้อนค่า รหัส น.ศ.
    <td>Name:</td>
        <td><input type="text" name="name"></td> 
     </tr>//สร้าง box เพื่อป้อนค่า ชื่อ น.ศ.
     <td>Faculty:</td>
       <td><input type="text" name="faculty"></td> 
     </tr>//สร้าง box เพื่อป้อนค่า คณะที่เรียน
     <td>Department:</td>
        <td><input type="text" name="department"></td>
     </tr> //สร้าง box เพื่อป้อนค่า สาขาที่เรียน
     <td>E-mail:</td>
         <td><input type="text" name="mail"></td> 
     </tr>// สร้าง box เพื่อป้อนค่า E-Mail
     <td>Birthday:</td>
         <td><input type="date" name="bday"></td> 
      </tr> // สร้าง box เพื่อป้อนค่า วันเกิด
      <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="Submit"></td>
    </tr> // สร้างปุ่มส่งค่า
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
</table>
</form>
</body>
</html>

CODE DOWNLOAD : http://ideone.com/dATSKt



--------------------------------------------------------
File textInput.jsp
--------------------------------------------------------

<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
<%
 String id=request.getParameter("id"); //รับค่าจาก id มาเก็บใน id
 String name=request.getParameter("name"); // รับค่าจาก name มาเก็บใน name
 String faculty=request.getParameter("faculty"); // รับค่าจาก faculty มาเก็บใน faculty
 String department=request.getParameter("department"); // รับค่าจาก department มาเก็บใน department
 String mail=request.getParameter("mail"); รับค่า mail มาเก็บใน mail
 String birthday=request.getParameter("birthday"); //รับค่า birthday มาเก็บใน birthday
 String date = request.getParameter("bday"); // รับค่า bday มาเก็บใน date

 String year = date.substring(0,4); // ตัดเฉพาะปีออกมาจาก date
 int numYear = 2013; // ตัวแปร numYear เก็บปีปัจจุบัน
 int foo = Integer.parseInt(year); // แปลงปีที่เกิด
 int ans = (numYear-foo); // ปีปัจจุบัน - ปีที่เกิด เพื่อคำนวณอายุ

 String id2  = id.substring(0,2); // ตัดรหัส น.ศ. 2 ตัวหน้า เพื่อนำมาคำนวณปีที่ศึกษา
 int id3 = Integer.parseInt(id2); // แปลงจาก Srting เป็น int เพื่อคำนวณ

 String now2 = new java.text.SimpleDateFormat("yyyy").format(new java.util.Date()); //รับค่าปีปัจจุบัน

 int stucur1 = Integer.parseInt(now2); //แปลงจาก String เป็น int เพื่อคำนวณ
 int stucur = ((stucur1)%100)+1; // นำมา mod 100 เพื่อเอาค่าสองตัวตัวสุดท้าย,+1 เพื่อเพิ่มไป 1 ปี

 int cur = stucur-id3; // นำรหัส น.ศ. สองตัวหน้าลบกับสองตัวท้ายของปี = ระยะเวลาเรียน

%>

<html>
<body>

 <h2>Result</h2> // Show ค่า ดึงจากตัวแปร
 Student ID: : <%=id%><br>
 NAME : <%=name%><br>
 Faculty : <%=faculty%><br>
 Department: <%=department%><br>
 E-mail : <%=mail%><br>
 Birthday : <%=date%><br>
 ----------------------------<br>
 Is : <%=ans%> Year old<br>
 Learn in university <%=cur%> year.


</body>
</html>

CODE DOWNLOAD : http://ideone.com/ydXhcw

PS. โค๊ดอาจต้องดัดแปลงนิดหน่อยขึ้นยู่กับการ Set ของเครื่องว่าเป็นเวลาของไทยหรืออังกฤษ


DOWNLOAD : JSP EX01

      
ตัวอย่าง 2 เว็บคํานวณค่านายหน้า (Sales commission) จากค่ายอดขายรวม (Total sales) โดยมีการ Login ก่อนเข้าใช้  
         ผู้ที่ใช้จะต้องทําการ Login ให้ถูกต้อง จึงสามารถคํานวณค่านายหน้าได้   โดยเมื่อ Login สําเร็จ จะรับค่ายอดขายรวม (Total sales) ของพนักงานขายจากผู้ใช้   แล้วนํามาคํานวณหาค่านายหน้า (Sales commission) โดยคิดเป็นเปอร์เซ็นต์จากยอดขาย แบ่งออกเป็น  3 ช่วง คือหากยอดขายตํ่ากว่า 1000 บาท ให้คิด 5% ยอกขาย 1000-5000 ให้คิด 7% และ ยอดขายหากเกิน 5000 ให้คิด 10%
หน้า Login เข้าใช้งาน

หน้าแจ้งเตือน เมื่อ Login ผิด


เมื่อ Login ถูกต้อง จะเข้าสู่หน้ากรอกข้อมูลคำนวณค่านายหน้า


ผลลัพธ์ที่ได้จากการคำนวณ