📄 xmlmanipservlet.java
字号:
// servlet DocWalkerServlet, which sets up commands for the
// DocWalker class
import javax.servlet.*; // communicate with client
import javax.servlet.http.*;
import MyNa.utils.Logger; // saves admin/debug info to file
import MyNa.utils.Env; // basic package
import MyNa.utils.MiscFile; // basic package
import MyNa.utils.HtmlWrapper; // sends HTML to client.
import java.io.IOException; // thrown by HtmlWrapper
import MyNa.utils.MiscDate; // for logging.
import MyNa.utils.EnvServlet; // for env handling.
import MyNa.xml.XmlManipulator; // for traversal and edits
public class XmlManipServlet extends EnvServlet {
String filePath = "MyNa/DocWalker/";
// C:\JRun\jsm-default\MyNa\DocWalker
String topFileName = "top.htm"; // not used in this version
String ctlFileName = "ctl.htm";
Logger lg;
public void doGet (HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException{
doPost(req,res);
}
public void doPost (HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException{
res.setContentType("text/html");
HtmlWrapper W=new HtmlWrapper(res.getWriter());
HttpSession sess=req.getSession(true);
lg=new Logger();
try{
Env E=new Env(req);
String myURL=res.encodeURL(req.getRequestURI());
E.put("xmlServlet",myURL);
setStr(E,"filePath","",filePath);
String xmlOperation=E.getStr("Command");
lg.logIt("xmlOperation="+xmlOperation+
"; xmlServlet="+E.getStr("xmlServlet"));
if("Logout".equals(xmlOperation)){doEnd(sess,W); return;}
XmlManipulator dW=(XmlManipulator)sess.getValue("dW");
if(null==dW){
dW=new XmlManipulator();
sess.putValue("dW",dW);
}
doCommand(dW,E,W);
}catch(Exception ex){
W.wrapPage("doPost failure",""+ex);}
}
/* A normal session will involve one call on doInit, from
the login page (e.g. XmlManipLogin.htm); this causes us to
send a page such as top.htm; a frame page which invokes a
re-call on the servlet to fill in one frame with sendCtl.
Subsequent calls will involve doCommand, until we reach doEnd.
*/
public void doCommand(XmlManipulator dW,Env env,HtmlWrapper W)
throws IOException {
// process user query
dW.setDefs(env);
String cmdResult=dW.doCommand();
String xmlString=dW.writeNode();
String fName="data.htm";
setStr(env,"templateFile",filePath,fName);
env.put("cmdResult",cmdResult);
env.put("xmlString",xmlString);
W.wrapEnvPage(env); // again the Env defines output.
}
public void doEnd(HttpSession sess, HtmlWrapper W)
throws IOException {
sess.invalidate();
W.wrapPage("Session Ends","come back soon");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -