serlvet
package iii.serlvetjsp;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/FirstSimpleProgram")//這是一個註解Annotation,當JSP檔點選超連結到FirstSimpleProgram時會讓部屬描述檔web.xml可以找到他,也可以不要寫這句,直接寫在web.xml中,但是兩者只可以擇一來用,寫這句就不能寫在web.xml裡、web.xml有寫就不能寫這句
public class SimpleServlet extends HttpServlet {//凡是Servlet檔都需要繼承HttpServlet來實做
//得要是javaEE 且wed peoject才能用這個方法(?)
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {//父類別的doGet方法,拿來覆寫
System.out.println("這是doGet()方法印出來的消息,只會列印在主控台,不會顯示在瀏覽器上");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("這是doPost()方法印出來的消息");
}
//寫完後關閉檔案(class),編寫啟動程式的網頁
//所有的JSP網頁都放在src\main\webapp資料夾之下
}
JSP檔
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 使用< % @ 與 % >,主要用來指定JSP網頁相關的輸出方式、引用套件、
載入檔案...等相關資訊,其並不會輸出任何資料至前端網頁,其有效範圍僅限於該指令所在之JSP網頁中。
language:定義JSP網頁所使用的描述語言。
contentType:用於設定MIME型態及網頁編碼方式
pageEncoding:用於指定JSP網頁轉為Servlet編譯時採取的編碼方式-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>我的第一個Servlet程式</title>
</head>
<body>
<a href="FirstSimpleProgram">我的第一個Servlet程式</a>
<!--注意這個FirstSimpleProgram經由web.xml部屬檔搜尋後聯結到上面的Servlet檔-->
</body>
</html>
web.xml部屬描述檔
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>AppServlet</servlet-name>
<servlet-class>iiiedu.jdad.jsp.jspExercise.AppServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AppServlet</servlet-name>
<url-pattern>/demoServlet</url-pattern>
</servlet-mapping>
<!-- 以下是經由關鍵字/FirstSimpleProgram連結的程式碼 -->
<servlet>
<servlet-name>第一個程式</servlet-name><!-- 這是用以連結下面servlet-mapping的名字-->
<servlet-class>iii.servletjsp.SimpleServlet</servlet-class><!-- 這是告知要連結到哪邊(class)去 -->
</servlet>
<servlet-mapping>
<servlet-name>第一個程式</servlet-name>
<url-pattern>/FirstSimpleProgram</url-pattern>
<!-- 這是設定呼叫的關鍵字,如果有人設定要超連結到"/FirstSimpleProgram",部屬檔就會找到此,並依照
「第一個程式」關鍵字 連到上面,再依<servlet-class>連到 iii.servletjsp.SimpleServlet這個Servlet-->
</servlet-mapping>
<!-- 到此結束 -->
</web-app>
留言列表