一.製做一個簡單的servlet:html
(1)創建web.xml;java
<servlet-mapping>只是一個簡單的容器,web
<servlet-name>Sample</servlet-name>表示要訪問的servlet文件名,windows
<url-pattern>/servlet/Sample</url-pattern>表示的是要訪問Sample.java的路徑app
<servlet>jsp
<description>第一個例子</description>ui
<display-name>servletSample</display-name>編碼
<servlet-name>Sample</servlet-name>servlet名字url
<servlet-class>jp.co.nttdata.servlet.Sample</servlet-class>類所在包及類名spa
具體代碼以下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="" xmlns="" xmlns:web="" xsi:schemaLocation=" " id="WebApp_ID" version="2.5"> <display-name>java</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <description>第一個例子</description> <display-name>servletSample</display-name> <servlet-name>Sample</servlet-name> <servlet-class>jp.co.nttdata.servlet.Sample</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample</servlet-name> <url-pattern>/servlet/Sample</url-pattern> </servlet-mapping> <servlet> <description>第二個例子</description> <display-name>servletJspSample</display-name> <servlet-name>JspSample</servlet-name> <servlet-class>jp.co.nttdata.servlet.JspSample</servlet-class> </servlet> <servlet-mapping> <servlet-name>JspSample</servlet-name> <url-pattern>/servlet/JspSample</url-pattern> </servlet-mapping> </web-app>
(2)創建包jp.co.nttdata.servlet 和類 Sample, JspSample
Sample.java
package jp.co.nttdata.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 Sample extends HttpServlet {
/** * serialVersionUID */ private static final long serialVersionUID = -1936901196555528367L;
public void init() throws ServletException { System.out.println("This is initMethod"); }
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("This is doGet"); resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<body>"); out.println("This is Servlet"); out.println("</body>"); out.println("</html>"); }
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }
public void destroy() { super.destroy(); System.out.println("This is destroy"); } } JspSample.java
package jp.co.nttdata.servlet;
import java.io.IOException;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
public class JspSample extends HttpServlet {
/** * serialVersionUID */ private static final long serialVersionUID = 1751356779488685371L;
public void init() throws ServletException { System.out.println("This is initMethod"); }
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("This is doGet"); resp.setContentType("text/html;charset=UTF-8"); String loginId = req.getParameter("loginId"); req.setAttribute("loginId", loginId); req.setAttribute("loginName", "Nttdata"); //設置跳轉參數值 req.getRequestDispatcher("/response.jsp").forward(req, resp); }
//request.getRequestDispatcher(url).forward(request,response) //是採用請求轉發方式,在跳轉頁面的時候是帶着原來頁面的request和response跳轉的,request對象始終存在,不會從新建立。
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }
public void destroy() { super.destroy(); System.out.println("This is destroy"); }
}
(3)創建請求頁面index.jsp和相應頁面response.jsp
頁面簡單的製做了一個表單
<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%>
標明瞭編碼格式採用的編碼語言
index.jsp <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>Insert title here</title> </head> <body> <form name="loginForm" action="/java/servlet/JspSample" method="POST"> index <input name="loginId" type="text" /> <input name="loginName" type="text" value="${loginName}"/> <input type="submit" value="sub" /> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!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=windows-31j"> <title>Insert title here</title> </head> <body> <form name="loginForm" action="/java/servlet/JspSample" method="POST"> response <input name="loginId" type="text"value="${loginId} /> <input name="loginName" type="text" value="${loginName}"/> <input type="submit" value="sub" /> </form> </body> </html>