文章目錄
註冊 Servelt
兩種方法
1、在web.xml中手動部署(如下所示)
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.Servlets.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/com.Servlets/HelloWorld</url-pattern>
</servlet-mapping>
2、使用註釋
@WebServlet("以/開頭的名字")
Servlet 的生命週期
基本框架
package com.Servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloWorld
*/
@WebServlet("/HelloWorld")
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
private String message;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorld() {
super();
// TODO Auto-generated constructor stub
}
public void init(){
message = "Hello World";
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
request.setCharacterEncoding("utf-8");//防止接收亂碼
response.setCharacterEncoding("utf-8");//防止輸出亂碼
PrintWriter out = response.getWriter();//生成PrintWriter 轉發頁面亂碼
out.println("<h1>"+message+"</h1>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
public void destroy() {
}
}
使用 Servlet 讀取表單數據
Servlet 處理表單數據,這些數據會根據不同的情況使用不同的方法自動解析:
- getParameter():您可以調用 request.getParameter() 方法來獲取表單參數的值。
- getParameterValues():如果參數出現一次以上,則調用該方法,並返回多個值,例如複選框。
- getParameterNames():如果您想要得到當前請求中的所有參數的完整列表,則調用該方法。
Servlet 常用對象
request
轉發器
RequestDispatcher requestDispatcher=request.getRequestDispatcher("success.html"); // 轉發請求
requestDispatcher.forward(request, response);
常用方法
response
Session
ServletContext
JSP 與Servlet 之間的調用
Servlet中SmartUpload的使用
SmartUpload使用和簡介
JspSmart文件上傳與下載
在Servlet中需要使用另一個initialize()方法,傳遞三個參數,分別爲ServletConfig, request和response
request和response可以直接在servlet中取得,ServletConfig通過this.getServletConfig可以取得.
所以改成
smartupload.initialize(this.getServletConfig(),request,response);