标签:
1、重定向
package com.yyq.sendredirect; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by gao on 16-4-14. */ public class Servlet01 extends HttpServlet{ //处理HTTP GET请求 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } //处理HTTP POST请求 @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //重新定向到servlet02 resp.sendRedirect("s02"); } @Override public void destroy() { //空 } @Override public void init() throws ServletException { //空 } }
Servlet02类:
package com.yyq.sendredirect; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * Created by gao on 16-4-14. */ public class Servlet02 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 { resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<head><title>Servlet06</head></title>"); out.println("<body>"); out.print("在Servlet02中获取请求参数name的值"); out.print(req.getParameter("name")); out.println("</body>"); out.println("</html>"); } @Override public void destroy() { //空 } @Override public void init() throws ServletException { //空 } }
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"> <servlet> <servlet-name>servlet01</servlet-name> <servlet-class>com.yyq.sendredirect.Servlet01</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet01</servlet-name> <url-pattern>/s01</url-pattern> </servlet-mapping> <servlet> <servlet-name>servlet02</servlet-name> <servlet-class>com.yyq.sendredirect.Servlet02</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet02</servlet-name> <url-pattern>/s02</url-pattern> </servlet-mapping> </web-app>
启动运行:http://localhost:8080/s01?name=test
package com.yyq.requestdispatcher; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by gao on 16-4-14. */ public class Servlet03 extends HttpServlet { //处理HTTP GET请求 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } //处理HTTP POST请求 @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取请求分派器 RequestDispatcher dispatcher = req.getRequestDispatcher("servlet04"); //将请求转发至指定路径的资源 dispatcher.forward(req,resp); } @Override public void destroy() { //空 } @Override public void init() throws ServletException { //空 } }
Servlet04类:
package com.yyq.requestdispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * Created by gao on 16-4-14. */ public class Servlet04 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 { resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<head><title>Servlet06</head></title>"); out.println("<body>"); out.print("在Servlet03中获取请求参数name的值"); out.print(req.getParameter("name")); out.println("</body>"); out.println("</html>"); } @Override public void destroy() { //空 } @Override public void init() throws ServletException { //空 } }
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"> <servlet> <servlet-name>servlet03</servlet-name> <servlet-class>com.yyq.requestdispatcher.Servlet03</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet03</servlet-name> <url-pattern>/servlet03</url-pattern> </servlet-mapping> <servlet> <servlet-name>servlet04</servlet-name> <servlet-class>com.yyq.requestdispatcher.Servlet04</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet04</servlet-name> <url-pattern>/servlet04</url-pattern> </servlet-mapping> </web-app>
启动Tomcat,输入:http://localhost:8080/servlet03?name=test
package com.yyq.attributerequest; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by gao on 16-4-14. */ public class Servlet05 extends HttpServlet { //处理HTTP GET请求 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } //处理HTTP POST请求 @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String str = "在Servlet05中存放请求域属性"; req.setAttribute("content",str); //获取请求分派器 RequestDispatcher dispatcher = req.getRequestDispatcher("servlet06"); //将请求转发至指定路径的资源 dispatcher.forward(req,resp); } @Override public void destroy() { //空 } @Override public void init() throws ServletException { //空 } }
Servlet06类:
package com.yyq.attributerequest; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * Created by gao on 16-4-14. */ public class Servlet06 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 { resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<head><title>Servlet06</head></title>"); out.println("<body>"); String str = (String) req.getAttribute("content"); out.print("从Servlet05中获取请求域属性content的值为:" + str); out.println("</body>"); out.println("</html>"); } @Override public void destroy() { //空 } @Override public void init() throws ServletException { //空 } }
<?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"> <servlet> <servlet-name>servlet05</servlet-name> <servlet-class>com.yyq.attributerequest.Servlet05</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet05</servlet-name> <url-pattern>/servlet05</url-pattern> </servlet-mapping> <servlet> <servlet-name>servlet06</servlet-name> <servlet-class>com.yyq.attributerequest.Servlet06</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet06</servlet-name> <url-pattern>/servlet06</url-pattern> </servlet-mapping> </web-app>
启动Tomcat,输入:http://localhost:8080/servlet05
<?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"> <servlet> <servlet-name>initparamservlet</servlet-name> <servlet-class>com.yyq.initparam.InitParamServlet</servlet-class> <!--定义一个Servlet初始化参数--> <init-param> <!--参数名--> <param-name>encoding</param-name> <!--参数值--> <param-value>utf-8</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>initparamservlet</servlet-name> <url-pattern>/initparamservlet</url-pattern> </servlet-mapping> </web-app>
package com.yyq.initparam; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * Created by gao on 16-4-14. */ public class InitParamServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取ServletConfig实例 ServletConfig config = this.getServletConfig(); //获取指定名称的初始化参数的字符串值 String str = config.getInitParameter("encoding"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<head><title>initparamservlet</head></title>"); out.println("<body>"); out.print("获取InitParamServlet的初始化参数\"encoding\"的字符串值为:" + str); out.println("</body>"); out.println("</html>"); } @Override public void destroy() { super.destroy(); } @Override public void init() throws ServletException { super.init(); } }
Servlet的初始化参数只是针对当前这个Servlet类有效,在本Servlet类中只能获取自身的初始化参数,无法获取其他Servlet类的初始化参数。
<?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"> <servlet> <servlet-name>servletcontextservlet</servlet-name> <servlet-class>com.yyq.servletcontext.ServletContextServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>servletcontextservlet</servlet-name> <url-pattern>/servletcontextservlet</url-pattern> </servlet-mapping> <!--定义一个Web应用上下文初始化参数--> <context-param> <!--参数名--> <param-name>appName</param-name> <!--参数值--> <param-value>Servlet入门基础</param-value> </context-param> </web-app>
b、在Servlet类中获取Web应用上下文的初始化参数值
package com.yyq.servletcontext; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * Created by gao on 16-4-14. */ public class ServletContextServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取ServletContext实例 ServletContext context = this.getServletContext(); //获取指定名称的web应用上下文初始参数的字符串值 String str = context.getInitParameter("appName"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("<html>"); out.println("<head><title>servletcontextservlet</head></title>"); out.println("<body>"); out.print("获取ServletContext的初始化参数\"appName\"的字符串值为:" + str); out.println("</body>"); out.println("</html>"); } @Override public void destroy() { super.destroy(); } @Override public void init() throws ServletException { super.init(); } }
c、启动Tomcat
标签:
原文地址:http://www.cnblogs.com/yangyquin/p/5426680.html