frontcontroller.java
来自「稿件名称:基于JAVA的JNDI技术和反射机制 稿件作者:段谟意 」· Java 代码 · 共 49 行
JAVA
49 行
package ddd.com.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import ddd.com.action.*;
import ddd.com.form.*;
import ddd.com.config.*;
public class FrontController extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
process(req,res);
}
public void doPost(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
process(req,res);
}
public void process(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
String uri="/error.jsp";
ServletContext sct=getServletContext();
String sTemp=req.getPathInfo();
int index=sTemp.lastIndexOf("/");
String path=sTemp.substring(index+1);
ActionHelper helper=new ActionHelper(sct);
ActionConfig aConfig=helper.getActionConfig(path);
if(aConfig!=null)
{
ActionForm form=helper.getActionForm(aConfig,sct,req,path);
if(aConfig.getValidate() && !form.validate(aConfig,req))
uri=aConfig.getInput();
else
{
Action action=helper.getAction(sct,req,path);
if(action!=null)
{
ForwardConfig forward=action.nextView(aConfig,form,req,res);
uri=forward.getUri();
}
}
}
RequestDispatcher dispatcher=sct.getRequestDispatcher(uri);
dispatcher.forward(req,res);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?