Servlet(Server Applet),全稱Java Servlet,是用Java編寫的服務器端程序。其主要功能在於交互式地浏覽和修改數據,生成動態Web內容。
servlet本質上是一個特殊java類,需要遵循servlet規范,比如servlet沒有main方法,servlet和http協議聯系緊密。
新建一個dynamic web project,src目錄下新建包,然後新建一個HelloworldServlet.java類.
package ucas.ac.cn.servlet;
import javax.servlet.http.HttpServlet;
public class HelloworldServlet extends HttpServlet{
}
在eclipse中,單擊鼠標右鍵->source->Override/Implement methods,然後選擇doGet和doPost方法.
做一個用戶登錄的例子,用戶在客戶端提交用戶名和密碼後,HelloworldServlet去處理用戶參數,根據處理結果轉發到不同的頁面.
首先在webContent/12目錄下添加login.jsp:
<code class=" hljs xml"><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> </code>
現在action地址為空,當點擊登錄按鈕後我們希望一個servlet去處理用戶提交的用戶名和密碼,下面在配置servlet路徑。
HelloworldServlet
ucas.ac.cn.servlet.HelloworldServlet
HelloworldServlet
/Helloworld
中有兩個屬性,第一個是servlet-name,這個名字可以自定義,第二個是servlet-class,表示serlet-name所對應的java類的位置;
中也有2個屬性,第一個servlet-name即為
中所定義的servlet的名字,第二個url-pattern為在浏覽器中的訪問名稱,在這個實例中訪問http://localhost:8080/工程名/Helloworld就會轉到ucas.ac.cn.servlet包目錄下的HelloworldServlet類。
修改logn.jsp:
在HelloworldServlet.java中編寫處理用戶名和方法的doGet和doPost方法:
package ucas.ac.cn.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloworldServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("userName");
String password = req.getParameter("passWord");
PrintWriter pw = resp.getWriter();
pw.println(username);
pw.println(password);
pw.close();
}
}
這樣用戶名和密碼就被輸出到浏覽器。