📄 fileservlet.java
字号:
}
}
}
/**
* 执行doGet操作
* @return String
* @param request 请求
* @param response response
* @param Parser SQL解析器
* @throws Exception
*/
protected String PerformGet(HttpServletRequest request,
HttpServletResponse response,
FileSQLParser Parser) throws
Exception {
return PerformPost(request, response, Parser);
}
/**
* 执行doPost操作
* @return String
* @param request 请求
* @param response response
* @param Parser SQL解析器
* @throws Exception
*/
protected String PerformPost(HttpServletRequest request,
HttpServletResponse response,
FileSQLParser Parser) throws
Exception {
try {
String MethodName = com.trulytech.mantis.system.Properties.Action_Prefix + getParameter(Parser,
com.trulytech.mantis.system.Properties.
Action_Tag);
Class[] cl = new Class[3];
cl[0] = Class.forName("javax.servlet.http.HttpServletRequest");
cl[1] = Class.forName("javax.servlet.http.HttpServletResponse");
cl[2] = Class.forName("com.trulytech.mantis.system.FileSQLParser");
Object[] obj = new Object[3];
obj[0] = request;
obj[1] = response;
obj[2] = Parser;
Method method = this.getClass().getMethod(MethodName, cl);
return (String) method.invoke(this, obj);
}
catch (NoSuchMethodException e) {
logWriter.Error(e.toString() + " (" + this.getClass().getName() + ")");
return alert(request, response, Parser);
}
}
/**
* 执行doPost操作 (不允许继承)
* @return String
* @param request 请求
* @param response response
* @param Parser SQL解析器
* @throws Exception
*/
final protected String PerformPost(HttpServletRequest request,
HttpServletResponse response,
SQLParser Parser) throws
Exception {
return super.PerformPost(request, response, Parser);
}
/**
* 获得输入参数,处理非空字段
* @param Parser 请求
* @param Name 名称
* @return String
*/
protected String getParameter(FileSQLParser Parser, String Name) {
String tmpStr = Parser.getUpload().getRequest().getParameter(Name);
if (tmpStr == null)
tmpStr = "";
return tmpStr;
}
/**
* 获得多个输入参数,处理非空字段
* @param Parser 请求
* @param Name 名称
* @return ArrayList
*/
protected ArrayList getParameters(FileSQLParser Parser, String Name) {
ArrayList list = new ArrayList();
String tmpStr[] = Parser.getUpload().getRequest().getParameterValues(Name);
if (tmpStr != null) {
for (int i = 0; i < tmpStr.length; i++) {
if (tmpStr[i] == null)
tmpStr[i] = "";
list.add(tmpStr[i]);
}
}
return list;
}
/**
* 显示非法提示
* @return String
* @param request request
* @param response response
* @param Parser Parser
* @throws java.lang.Exception Exception
*/
protected String alert(HttpServletRequest request,
HttpServletResponse response, FileSQLParser Parser) throws
Exception {
//如果是reponse信息
if (com.trulytech.mantis.system.Properties.isResponseAlert) {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
return "";
}
//如果是自定义错误
else
{
String info = null;
if (com.trulytech.mantis.system.Properties.isInternational)
info = InternationalManager.getResource(request,
com.trulytech.mantis.system.
Properties.KeyBadCommand);
else
info = "操作非法!";
logWriter.Error("操作非法!(" + this.getClass().getName() +
"-" +
getParameter(Parser,
com.trulytech.mantis.system.Properties.
Action_Tag) +
")");
request.setAttribute("Info", info);
request.setAttribute("Action", "javascript:history.back();");
return (com.trulytech.mantis.system.Properties.AlertURL);
}
}
/**
* 身份校验,判断用户是否有相关权限 (不允许子类继承)
* @param request HttpServletRequest
* @param response HttpServletResponse
* @param Parser FileSQLParser
* @return int
* @throws Exception
*/
final protected int HasPermission(HttpServletRequest request,
HttpServletResponse response,
SQLParser Parser) throws
Exception {
return super.HasPermission(request, response, Parser);
}
/**
* 身份校验,判断用户是否有相关权限
* @param request request
* @param response response
* @param Parser SQL解分器
* @return 是否具有权限 是否具有权限 Permission.ERROR-页面超时 Permission.DENY-无权限 Permission.ALLOW-有权限
* @throws java.lang.Exception
*/
protected int HasPermission(HttpServletRequest request,
HttpServletResponse response,
FileSQLParser Parser) throws
Exception {
HttpSession session = request.getSession(false);
if (session == null)
return Permission.ERROR;
//取用户ID
else {
String ID = (String) session.getAttribute(com.trulytech.mantis.system.
Properties.Session_UserID);
if (ID == null)
return Permission.ERROR;
//取权限对象
else {
Permission perm = (Permission) session.getAttribute(com.trulytech.
mantis.system.Properties.Session_Permission);
if (perm == null) {
if (Properties.HasPermission)
return Permission.ERROR;
else
return Permission.ALLOW;
}
//判断权限
else {
String ServletName = this.getClass().getName();
int myPos = ServletName.lastIndexOf(".") + 1;
String className = ServletName.substring(myPos,
ServletName.length());
String Action = getParameter(Parser,
com.trulytech.mantis.system.
Properties.
Action_Tag);
return perm.HasPermission(ID, className, Action, Parser);
}
}
}
}
/**
* 显示无权限信息
* @param request request
* @param response response
* @param Parser Parser
* @throws java.lang.Exception
*/
protected void showinvalidate(HttpServletRequest request,
HttpServletResponse response,
FileSQLParser Parser) throws
Exception {
//如果是reponse信息
if (com.trulytech.mantis.system.Properties.isResponseAlert) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
}
//如果是错误信息
else
{
String info = null;
if (com.trulytech.mantis.system.Properties.isInternational)
info = InternationalManager.getResource(request,
com.trulytech.mantis.system.
Properties.KeyPermissionDeny);
else
info = "该用户尚无此权限!";
logWriter.Info("该用户尚无此权限!(" + this.getClass().getName() +
"-" +
getParameter(Parser,
com.trulytech.mantis.system.Properties.
Action_Tag) +
")");
request.setAttribute("Info", info);
request.setAttribute("Action", "javascript:history.back();");
Dispatch(request, response, com.trulytech.mantis.system.Properties.AlertURL);
}
}
/**
* 设置Upload最大文件大小
* @return long
*/
protected long setUploadMaxSize() {
return Properties.UploadMaxSize;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -