Web.xml中配置Servlet
之前在做项目中,一直需要在web.xml中配置Servlet,但为什么这么写,这么写是如何通过配置文件找到我们响应的Servlet中的方法的呢?今天就从配置开始说起,我们的Servlet是如何在整个项目中起作用的。
Servelt配置如下:
<servlet> <servlet-name>ShowAddItemServlet</servlet-name> //Servlet应用名字 <servlet-class>com.bjpowernode.drp.basedata.web.ShowAddItemServlet</servlet-class>//servlet应用名字对应的具体servlet文件 </servlet> <servlet-mapping>//地址映射 <servlet-name>ShowAddItemServlet</servlet-name>//servelt应用名字 <url-pattern>/servlet/item/ShowAddItemServlet</url-pattern>//地址映射 </servlet-mapping>
下面看一下ShowAddItemServlet中的代码,通过上述配置可以找到下面的Servlet。
package com.bjpowernode.drp.basedata.web;
import com.bjpowernode.drp.util.datadict.domain.ItemCategory;
import com.bjpowernode.drp.util.datadict.domain.ItemUnit;
import com.bjpowernode.drp.util.datadict.manager.DataDictManager;
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.util.List;
/**
* Created by zhangsisi on 2016/7/15.
*/
public class ShowAddItemServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//取得物料类别类表
List<ItemCategory> itemCategoryList = DataDictManager.getInstance().findItemCategory();
//取得计量单位列表
List<ItemUnit> itemUnitList = DataDictManager.getInstance().findItemUnit();
req.setAttribute("itemCategoryList",itemCategoryList);
req.setAttribute("itemUnitList",itemUnitList);
//转发
req.getRequestDispatcher("/basedata/item_add.jsp").forward(req,resp);
}
}
那么究竟是如何来找到我们的Servlet的呢?
1、输入网址:http://localhost:8080/demo,通过网址扫描web.xml文件
2、找到相应的ShowAddItemServlet
3、通过<servlet-name>ShowAddItemServlet</servlet-name>找到文件,定位到文件位 置:com.bjpowernode.drp.basedata.web.ShowAddItemServlet
总结:
通过上述路径就可以找到相应的Servlet,配置上述路径时,<servlet-name>ShowAddItemServlet</servlet-name>的名字不一定要和ShowAddItemServlet.java的名字一样,web.xml中配置只是一个名字,我们只要保证具体的文件正确,就可以找到相应的Servlet。

浙公网安备 33010602011771号