サーブレット - web.xml 構成


序文

この記事では主に、次のような Web.xml の一般的な構成項目を紹介します。

  • ホームページの修正
  • サーブレットのワイルドカード マッピングと初期化パラメーター
  • グローバル パラメータ設定
  • 404、500、およびその他のエラー コードのページ設定

ホームページの修正

可以在web.xml中通过<welcome-file-list>配置访问时后的默认首页

例えば:

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>default.htm</welcome-file>
  </welcome-file-list>

効果は次のとおりです (デフォルトで index.html ファイルにアクセスします)。
ここに画像の説明を挿入
第 2 レベルのページも適用されます。
ここに画像の説明を挿入

サーブレットのワイルドカード マッピングと初期化パラメーター

我们可以通过配置通配符捕获到多个Servlet请求,例如:
配置映射地址
<!-- 统配Servlet -->
    <!-- 声明servlet -->
  <servlet>
  <!-- Servlet别名 -->
  	<servlet-name>pattern</servlet-name>
  	<servlet-class>pattern.PatternServlet</servlet-class>
  </servlet>
  
  <!-- 将Servlet和URL绑定 -->
  <servlet-mapping>
  	<servlet-name>pattern</servlet-name>
  	<url-pattern>/pattern/*</url-pattern>
  </servlet-mapping>
  

サーブレット コード層:

package pattern;

import java.io.IOException;
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 PatternServlet
 */

public class PatternServlet extends HttpServlet {
    
    
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public PatternServlet() {
    
    
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		String url =request.getRequestURL().toString();
		response.setContentType("text/html;charset=utf-8");
		System.out.println(url);
		String index =url.substring(url.lastIndexOf('/')+1);
		response.getWriter().println(index);
		if("1".equals(index)) {
    
    
			response.getWriter().println("张三");
		}else if("2".equals(index)) {
    
    
			response.getWriter().println("李四");
		}else {
    
    
			response.getWriter().println("王二麻子");
		}
	}

}

結果:
ここに画像の説明を挿入

ここに画像の説明を挿入

グローバル パラメータ設定

前の例を見てください:
xml でグローバル パラメーターを構成する

 <!-- ServletContext -->
   <context-param>

         <param-name>name</param-name>

         <param-value>wangwei</param-value>

  </context-param>

   <context-param>

         <param-name>age</param-name>

         <param-value>24</param-value>

  </context-param>

サーブレットで構成されたグローバル変数を取得する



import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ServletContext
 */
@WebServlet("/ServletContext")
public class ServletContextSendTest extends HttpServlet {
    
    
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletContextSendTest() {
    
    
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @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;charset =utf-8");
		// 获取servlet配置的Web.xml中配置的全局参数name
		ServletContext servletContext = (ServletContext) this.getServletContext();
		String name =(String)  servletContext.getInitParameter("name");
		response.getWriter().println(name);
		//自定义传入参数
		servletContext.setAttribute("newName", "zhanglongzhu");
		response.getWriter().println("newName 已经写入");
	}
}

効果:
ここに画像の説明を挿入

404、500、およびその他のエラー コードのページ設定

web.xml 構成アイテムは、エラー ページを介してエラー情報ページを構成します。例は次のとおりです。

<!-- 报错页面提示 -->
<error-page>
	<error-code>404</error-code>
	<location>/error/404.html</location>
</error-page>
 
 <error-page>
	<error-code>500</error-code>
	<location>/error/500.html</location>
</error-page>

エラー ページの構成と結果:
404.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
页面资源未找到,请检查资源是否存在
</body>
</html>

500.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
error,please call Adminstrator to help you
</body>
</html>

ここに画像の説明を挿入
ここに画像の説明を挿入

要約する

以上が本日の内容で、グローバルパラメータの設定、Webページの設定、ワイルドカード設定のキャプチャリクエストなどを含みます。

おすすめ

転載: blog.csdn.net/HBUT_WANGWEI/article/details/125843155