『Java』Servlet 最简教程
Jva Servlet 的简单教程。不定时更新……
Jva Servlet 的简单教程。不定时更新……
Servlet 根接口 public interface Servlet{ public void init(ServletConfig config) throws ServletException; // servlet装载时调用。 public void ServletConfig getServletConfig(); // 返回ServletConfig对象,含有servlet的初始化参数和启动参数。 public String getServletInfo(); //返回servlet相关信息,例如作者、版本、版权声明等。 // 所有客户端发出的请求都会被servlet容器软件通过service的两个参数传来与传出。 // service()的主要职责便是处理客户端送出的HTTP请求,并根据该请求中所含属性产生HTTP回应。 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException; public void destroy(); // servlet卸载时调用。 }
Servlet HelloWorld import javax.servlet.*; import javax.servlet.http.*; import java.io.*; // 一般来说,一个URL代表一个servlet public calss ServletsRule extends HttpServlet{ int i = 0; public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.print("<HEAD><TITLE>"); out.print("A server-side strategy"); out.print("</TITLE></HEAD><BODY>"); out.print("<H1>Servlets Rule! " + i++); out.print("</H1></BODY>"); out.close(); } }
Servlet 表单处理 // 处理HTTP Form表单 // 一旦表单被提交到servlet,便会建构HttpServletRequest并将表单内的数据填入HttpServletRequest中。 import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public calss EchoForm extends HttpServlet{ public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ res.setContentType("text/html"); PrintWriter out = res.getWriter(); Enumeration flds = req.getParameterNames(); if(!flds.hasMoreElements()){ // 如果表单内没有数据,我们为了测试,就在下面加入了一个表单数据项。 out.print("<html>"); out.print("<form method=\"POST\"" + " action=\"EchoForm\">"); for(int i = 0; i < 10; i++){ out.print("..."); out.print("..."); }else{ // 如果表单内有数据, out.print(“<H1>Your form contained:</H1>”); while(flds.hasMoreElements()){ String field = (String)flds.nextElement(); String value = req.getParameter(field); out.print(field + " = " + value + "<br />"); } } out.close(); } } }
Servlet 线程安全 // 使用synchronized子句达到线程安全的目的。 import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class ThreadServlet extends HttpServlet{ in i; public void service(HttpServletResponse res, HttpServletRequest req){ res.setContentType("text/html"); PrintWriter out = res.getWriter(); synchronized(this){ try{ Thread.currentThread().sleep(5000); }catch(InterruptedException e){ System.err.println("Interrupted"); } } out.print("<H1>Finished " + i++ + "</H1>"); out.close(); } }
Servlet Session处理 // Session。 import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class SessionPeek extends HttpServlet{ in i; public void service(HttpServletResponse res, HttpServletRequest req){ HttpSession session = req.getSession(); // res.setContentType("text/html"); PrintWriter out = res.getWriter(); Integer ival = (Integer)session.getAttribute("SessionPeek.cntr", ival); // ... session.setAttribute("SessionPeek.cntr", ival.intValue() + 1) // ... Enumeration sesNames = session.getAttributeNames(); while(sesNames.hasMoreElements()){ String name = sesNames.nextElement().toString(); Object value = session.getAttribute(name); /... } session.getId(); session.isNew(); session.getCreationTime(); session.getLastAccessedTime(); sssion.getMaxInactiveInterval(); req.getRequestedSessionId(); req.isRequestedSessionIdFromCookie(); req.isRequestedSessionIdFromURL(); req.isRequestedSessionIdValid(); out.close(); } }
版权声明:
作者:莫不逢
出处:http://www.cnblogs.com/sitemanager/
Github:https://github.com/congjf
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。