A.プロジェクトservlet01を確立
入力モジュールサーブレットプロジェクト(どのようにビルドするためにここに繰り返さない)、ジャワとMavenプロジェクトのリソースフォルダの完成で、サブプロジェクトの設立、web.xmlのマッピング関係を追加し、クラスHelloServlet.javaを追加するには、Tomcatを追加します(正しい検証するために実行を設定、)すべての項目が遊びに来たジャージャーパッケージに一つだけの道を保つ、削除のjarパッケージの他の項目、独自のjarファイルのパッケージを追加!
二つのオブジェクト.ServletContext
Webコンテナが起動すると、現在のWebアプリケーションを表すために使用される各Webアプリケーションに対応するServletContextオブジェクトを作成します。
- 共有データ:サーブレットに格納されたデータは、別のサーブレットにアクセスすることができます
例:
コード内HelloServlet
1 @Override 2 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 3 4 // this.getInitParameter(); 初始化参数 5 // this.getServletConfig(); Servlet配置 6 // this.getServletContext(); Servlet上下文 7 8 ServletContext context = this.getServletContext(); 9 10 String username = "小王"; 11 context.setAttribute("username",username); //将数据存入ServletContext中 12 13 14 }
在GetServlet中的代码
1 public class GetServlet extends HttpServlet { 2 @Override 3 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 4 5 ServletContext context = this.getServletContext(); 6 7 String username = (String) context.getAttribute("username"); 8 9 resp.setContentType("text/html"); 10 resp.setCharacterEncoding("utf-8"); 11 resp.getWriter().println("名字"+ username); 12 13 } 14 15 @Override 16 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 17 doGet(req, resp); 18 } 19 }
配置web.xml
1 <!--注册Servlet--> 2 <servlet> 3 <servlet-name>getc</servlet-name> 4 <servlet-class>ustc.wzh.servlet.GetServlet</servlet-class> 5 </servlet> 6 7 <!--Servlet的请求路径--> 8 <servlet-mapping> 9 <servlet-name>getc</servlet-name> 10 <url-pattern>/getc</url-pattern> 11 </servlet-mapping>
启动tomcat执行程序
先执行http://localhost:8080/servlet01/hello 此时已经存入数据了,在执行http://localhost:8080/servlet01/getc 显示数据
执行成功!