package fm.action;
import java.io.File;
import java.util.Vector;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import fm.Constants;
import fm.DB;
import fm.User;
import fm.UserFile;
public final class CheckPowerAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String functiontype = request.getParameter("functiontype");
System.out.println("functiontype==="+functiontype);
String pageForward = "ToErrorPage";
ActionMessages errors = new ActionMessages();
ServletContext context = servlet.getServletContext();
DataSource dataSource = (DataSource) context.getAttribute(Constants.DATASOURCE_KEY);
DB db = new DB(dataSource);
HttpSession session = request.getSession();
User loginuser = (User) session.getAttribute(Constants.LOGIN_USER_KEY);
if (functiontype.equals("newuser")) {
if (loginuser.getGrade().equals("admin")) {
pageForward = "ToNewUser";
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.power.newuser.notadmin"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
} else if (functiontype.equals("deleteuser")) {
if (loginuser.getGrade().equals("admin")) {
String id = request.getParameter("id");
Vector userVector = new Vector();
String sysroot = servlet.getServletContext().getInitParameter("sysroot");
User curUser = User.search(db, id);
String curUserFolder = sysroot + "/" + curUser.getUsername();
if (curUser.delete(db, id)) {
new UserFile().deleteFile(new File(curUserFolder));
userVector = User.searchUsers(db);
session.setAttribute(Constants.USER_LIST_KEY, userVector);
pageForward = "ToUserList";
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("error.user.delete.failed"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.power.deleteuser.notadmin"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
} else if (functiontype.equals("modifyuser")) {
if (loginuser.getGrade().equals("admin")) {
String id = request.getParameter("id");
User curUser = User.search(db, id);
session.setAttribute(Constants.CUR_USER_KEY, curUser);
pageForward = "ToModifyUser";
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.power.modifyuser.notadmin"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
} else if (functiontype.equals("managerfiles")) {
String id = request.getParameter("id");
User curUser = User.search(db, id);
// 如果是管理员或者拥有者,可直接进去。或者当前目录为公有目录时。
if (loginuser.getGrade().equals("admin")
|| loginuser.getId() == Integer.parseInt(id)
|| curUser.getIfpublic() == 1) {
session.setAttribute(Constants.CUR_USER_KEY, curUser);
Vector fileVector = new UserFile().searchUserFiles(db, id);
request.setAttribute("userId", id);
session.setAttribute(Constants.FILE_LIST_KEY, fileVector);
pageForward = "ToFileList";
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.power.managerfiles.forbidden"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
request.setAttribute("userName", curUser.getUsername());
} else if (functiontype.equals("deletefile")) {
User curUser = (User) session.getAttribute(Constants.CUR_USER_KEY);
String fileId=String.valueOf(request.getParameter("fileId"));
String userId=String.valueOf(request.getParameter("userId"));
UserFile file=new UserFile();
UserFile file2= file.searchUserFileByFileId(db, fileId);
User user=new User();
String userName=user.search(db, userId).getUsername();
String filename = file2.getFilename();//(String) request.getParameter("filename");
String location1 =file2.getLocation();// (String) request.getParameter("location");
//String servletContext = servlet.getServletContext().getRealPath("/");
String location = servlet.getServletContext().getRealPath("/")+"/" + location1;
System.out.println("delete method location=="+location);
// 只有本人或者管理员才能删除文件
if (curUser.getId() == loginuser.getId()
|| loginuser.getGrade().equals("admin")) {
Vector fileVector = new Vector();
UserFile userFile = new UserFile();
// 删除数据库中的记录及物理文件
if (userFile.delete(db, curUser.getId(), filename)) {
userFile.deleteFile(new File(location));
fileVector = new UserFile().searchUserFiles(db,new Integer(curUser.getId()).toString());
session.setAttribute(Constants.FILE_LIST_KEY, fileVector);
pageForward = "ToFileList";
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("error.userfile.delete.failed"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.power.deletefile.forbidden"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
request.setAttribute("userId", userId);
request.setAttribute("userName", userName);
} else if (functiontype.equals("uploadfile")) {
User curUser = (User) session.getAttribute(Constants.CUR_USER_KEY);
// 如果是拥有者,或者当前目录允许上传文件时。
if (curUser.getId() == loginuser.getId() || curUser.getCanupload() == 1) {
pageForward = "ToUploadFile";
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.power.managerfiles.forbidden"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
}
db.close();
return (mapping.findForward(pageForward));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
精通JavaEE项目案例---基于struts,hibernate,spring
共738个文件
java:145个
class:145个
jsp:121个
4星 · 超过85%的资源 需积分: 10 226 下载量 45 浏览量
2008-12-02
13:51:07
上传
评论 4
收藏 15.61MB RAR 举报
温馨提示
精通JavaEE项目案例---基于struts,hibernate,spring 源代码SSH
资源推荐
资源详情
资源评论
收起资源包目录
精通JavaEE项目案例---基于struts,hibernate,spring (738个子文件)
CheckPowerAction.class 6KB
FileUploadAction.class 6KB
User.class 6KB
UserFile.class 5KB
User.class 5KB
OrderSelectBean.class 5KB
Forum.class 5KB
SaveBookAction.class 5KB
Notice.class 5KB
AddcoinSelectBean.class 4KB
User.class 4KB
ConsumeSelectBean.class 4KB
CheckPowerAction.class 4KB
Teacher_Manager.class 4KB
ModifyUserAction.class 4KB
NewUserAction.class 4KB
SubmitArticleAction.class 4KB
Response.class 4KB
News.class 4KB
SearchBookAction.class 4KB
Student_Manager.class 4KB
NewsTag.class 4KB
PayAction.class 4KB
Bookinfo.class 4KB
PopTag.class 4KB
RegisterAction.class 4KB
Admin_Manager.class 4KB
OrderDetailAction.class 4KB
UserEditAction.class 4KB
NewUserAction.class 3KB
ShoppingCartAction.class 3KB
Topic.class 3KB
TopicListAction.class 3KB
NewsTag4guest.class 3KB
DownLoadAction.class 3KB
DBUtil.class 3KB
News4news.class 3KB
UserEditAction.class 3KB
Project_Manager.class 3KB
LoginAction.class 3KB
AdminLoginAction.class 3KB
ForumCreateAction.class 3KB
DisplayTag.class 3KB
EditBookForm.class 3KB
RegistrationAction.class 3KB
BookDetailAction.class 3KB
ForumEditSubmitAction.class 3KB
Userinfo.class 3KB
UserLoginAction.class 3KB
TopicDeleteAction.class 3KB
LoginAction.class 3KB
UserManagerAction.class 3KB
AdminLoginAction.class 3KB
UserDeleteAction.class 3KB
UserLoginAction.class 3KB
ForumDeleteAction.class 3KB
UserSearchAction.class 3KB
ForumManagerAction.class 3KB
ModifyAction.class 3KB
EditBookAction.class 3KB
HibernateUtil.class 3KB
TopicDisp.class 3KB
Pageable.class 3KB
RegisterForm.class 3KB
ViewCartAction.class 3KB
DeleteBookAction.class 3KB
Order.class 3KB
NoticeModifyAction.class 3KB
UsercoinSelectBean.class 3KB
Pageable.class 3KB
Note_Manager.class 2KB
ForumEditAction.class 2KB
DataProcess.class 2KB
ResponseListAction.class 2KB
TopicSearchAction.class 2KB
SearchUserAction.class 2KB
LoginServlet.class 2KB
ModifyUserForm.class 2KB
EditStudentServlet.class 2KB
NewTopicAction.class 2KB
Remark.class 2KB
Grade_Manager.class 2KB
ConsumeSelectBean1.class 2KB
EncodingFilter.class 2KB
EncodingFilter.class 2KB
EncodingFilter.class 2KB
EncodingFilter.class 2KB
EncodingFilter.class 2KB
EncodingFilter.class 2KB
RegistrationForm.class 2KB
NewUserForm.class 2KB
NewNoticeAction.class 2KB
EditTeacherServlet.class 2KB
DB.class 2KB
Teacher.class 2KB
UserInfoForm.class 2KB
AddStudentServlet.class 2KB
EditProjectServlet.class 2KB
Note.class 2KB
AddTeacherServlet.class 2KB
共 738 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
hqw42oop
- 粉丝: 9
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页