actionconfig.java

来自「本人大学时大型作业用JAVA做的一个 BBS系统 模式MVC 非struts版 」· Java 代码 · 共 51 行

JAVA
51
字号
package helps;
import javax.xml.parsers.*;
import javax.servlet.*;
import java.io.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import java.util.*;
import domain.*;
public class ActionConfig implements java.io.Serializable
{
	private HashMap actionMap;
	public void setActionConfig(ServletContext scx)
		throws ParserConfigurationException,SAXException,IOException
	{
		String fileName=scx.getInitParameter("dataSource");
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		DocumentBuilder db=dbf.newDocumentBuilder();
		InputStream is=scx.getResourceAsStream(fileName);
		InputSource xmlDoc=new InputSource(is);
		Document doc=db.parse(xmlDoc);
		actionMap=domHandlerActions(doc);
		scx.setAttribute("actionMap",actionMap);				
	}
	public HashMap domHandlerActions(Document doc)
	{
		String path=null;
		String type=null;
		String uri=null;	
		actionMap=new HashMap();
		NodeList actionsList=doc.getElementsByTagName("action");
		Node node=actionsList.item(0);
		for(;node!=null;node=node.getNextSibling())
		{
			if(node.getNodeType()==node.ELEMENT_NODE)
			{
				NamedNodeMap actionNodeMap=node.getAttributes();
				path=actionNodeMap.getNamedItem("path").getNodeValue();
				type=actionNodeMap.getNamedItem("type").getNodeValue();
				uri=actionNodeMap.getNamedItem("uri").getNodeValue();			
				ActionMapping actionMapping=new ActionMapping(path,type,uri);
				actionMap.put(path,actionMapping);
			}						
		}	    	
		doc=null;
		return actionMap;
	}
	public ActionMapping getActionMapping(String key)
	{
		return (ActionMapping)actionMap.get(key);	
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?