package action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import dao.GoodsDao;
import dao.TopicDao;
import dao.UserDao;
import dao.impl.GoodsDaoImpl;
import dao.impl.TopicDaoImpl;
import dao.impl.UserDaoImpl;
import entity.Goods;
import entity.Page;
import entity.Topic;
import entity.User;
public class UserAction {
User u;
Goods g;
Topic t;
UserDao ud = new UserDaoImpl();
GoodsDao gd=new GoodsDaoImpl();
TopicDao td=new TopicDaoImpl();
List<User> list = new ArrayList<User>();
List<Goods> glist = new ArrayList<Goods>();
List<Topic> tlist = new ArrayList<Topic>();
String look;//接收查询条件
String topicname;//接收查询条件 分类名
Integer up=0;
int tid;//接收topic对象的id
List<String> dels;// 得到checkbox的id的集合
File rimg;// 上传的文件。图片
String rimgFileName;// 后缀名
Page pg = new Page();//分页类
String sql=" from Topic order by tnum";
public String insert(){//注册
System.out.println("进入注册服务");
try {
System.out.println(u.getName());
String filepath = upload();
if(filepath != null && !filepath.equals("")){
u.setHead("/good/" + filepath);}
ud.insert(u);
} catch (Exception e) {//用户名字不为数字,用户密码不能大于9位数且不为负数
System.out.println("注册失败");
e.printStackTrace();
return "error";
}
return "success";
}
public String land(){//登陆
System.out.println("进入登陆服务");
try {
u=ud.land(u);
HttpSession session = getSession();
session.setAttribute("name", u.getName());//传用户名
session.setAttribute("head", u.getHead());
glist=gd.search();//给look展示
tlist=td.search(sql);
return "success";
} catch (Exception e) {
System.out.println("登录失败");
e.printStackTrace();
return "error";
}
}
public void clear() throws IOException{//注销 session的name失效
HttpSession session = getSession();
session.removeAttribute("name");
//session.invalidate();
//session.setAttribute("name", null);
HttpServletResponse resp = ServletActionContext.getResponse();
resp.setContentType("text/html;charset=utf-8");
PrintWriter pw = resp.getWriter();
pw.print("<script>window.parent.location.href='main/land.jsp'</script>");//跳出页面框架
}
public String del(){//删除商品
if(dels==null)return "error";
for (String tid : dels) {
int ttid = Integer.parseInt(tid);
g = gd.readByid(ttid);
gd.delete(g);
}
return "success";
}
public String lookup(){//升序
HttpSession session = getSession();
session.setAttribute("up",0);
return "success";//跳转look
}
public String lookdown(){//降序
HttpSession session = getSession();
session.setAttribute("up",1);
return "success";//跳转look
}
public String look(){//展示所有商品 //可展示要修改特定某条数据 //动态条件查询 //分页
System.out.println("进入look展示商品*************");
HttpSession session = getSession();
String hql1="";String hql2="";
up=(Integer) session.getAttribute("up");
if(up==null){up=0;}
try {
int ob=pg.getPageNum();//判断分页:直接判断PageNum是否为初始的0,是则在翻页,否则在第一次查询
if(ob!=0){//在翻页 给look赋值
look = (String) session.getAttribute("look");
topicname = (String) session.getAttribute("topicname");
}
else{pg.setPageNum(1);} //第一次查询 给PageNum赋值
if(up==0){//升序
hql1=" order by num";
hql2=" from Goods order by num";
}else if(up==1){//desc
hql1=" order by num desc";
hql2=" from Goods order by num desc";
}
glist=gd.search(topicname,look,pg,hql1,hql2);//look为空是全部查询,look不为空是条件查询
if(g!=null)g = gd.readByid(g.getId());//g
tlist = td.search(sql);//tlist
session.setAttribute("topicname", topicname);
session.setAttribute("look", look);
} catch (Exception e) {
e.printStackTrace();
return "error";
}
return "success";
}
public String upg(){//修改g
System.out.println("*******修改服务g******");
if(g.getId()==null)return "error";
Goods g2= gd.readByid(g.getId());
g2.setTopic(td.readByid(tid));
g2.setAbout(g.getAbout());
g2.setNum(g.getNum());
String filepath = null;
try {
filepath = upload();
System.out.println(filepath);
g2.setPhoto("/good/" + filepath);// filepath路径是在项目下的自定义文件夹,但是读取时候只读取tomcat更目录,所以需要加项目名才能读取
} catch (Exception e) {
System.out.println("没有修改图片");
System.out.println(g.getPhoto());
g2.setPhoto(g.getPhoto());
e.printStackTrace();
}
try {
gd.update(g2);
} catch (Exception e) {
System.out.println("修改失败!没有选择要修改的对象");
e.printStackTrace();
return "error";
}
return "success";
}
public String addgbefore(){//add时 得到下拉分类
tlist=td.search(sql);
return "success";
}
public void addg() throws IOException {// 添加 商品 (输出流 自行跳转)
System.out.println("开始addg服务");
HttpServletResponse resp = ServletActionContext.getResponse();
resp.setContentType("text/html;charset=utf-8");
PrintWriter pw = resp.getWriter();
boolean flag = false;
String filepath = "";
try {
filepath = upload();
g.setPhoto("/good/" + filepath);
} catch (Exception e) {
System.out.println("没有添加图片");
e.printStackTrace();
} finally {
try {
g.setTopic(td.readByid(tid));
gd.insert(g);
flag = true;
} catch (Exception e) {
System.out.println("添加失败");
e.printStackTrace();
flag = false;
} finally {
if (flag) {
pw.print("<script type='text/javascript'>if(window.confirm('添加成功,是否继续添加?')){location.href='addgbefore';}else{location.href='look';}</script>");
} else {
pw.print("<script type='text/javascript'>alert('添加失败');location.href='addgbefore';</script>");
}
}
}
}
public void ajax() {// ajax 用户名验证
System.out.println("进入ajax");
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
System.out.println("ajax请求的参数为:" + u.getName());
boolean b=ud.findByName(u);//验证用户名
String mess="";
if(b){
mess="用户名已存在";
}else{
mess="用户名可以使用";
}
try {
ServletActionContext.getResponse().getWriter().print(mess);//直接输出
} catch (IOException e) {
System.out.println("异常");
e.printStackTrace();
}
}
// 需要调用的方法**************************
private HttpSession getSession() {//得到session的方法
HttpServletRequest req = ServletActionContext.getRequest();
return req.getSession();
}
public String upload() { // 获取文件上传后保存路径的方法 被修改和新增服务 调用
System.out.println("*****进入方法upload*******");
String filepath = null;
try {
System.out.println(rimg+"*******************");
FileInputStream fis = new FileInputStream(rimg);// 获取上传文件的对象
String basepath = ServletActionContext.getRequest()
.getServletContext().getRealPath("");// 获取上传文件的保存路径==项目的更目录
System.out.println(basepath);// \apache-tomcat-7.0.65\webapps\项目名
String suffix = rimgFileName.substring(rimgFileName
.lastIndexOf("."));// 获取文件的后缀名
filepath = "rimgs/"+UUID.randomUUID() + suffix;// 自定义 文件上传后的保存路径
System.out.println(filepath);
//如果文件夹不存在则创建文件夹
File file =new File(basepath+"/rimgs");
if (!file .exists() && !file .isDirectory()){file .mkdir(); }
else{System.out.println("//目录存在");}
FileOutputStream fos = new FileOutputStream(basepath + "/"
+ filepath);// 创建输出流//文件将保存在项目下的自定义文件夹,但是读取时候只读取t
没有合适的资源?快使用搜索试试~ 我知道了~
商城管理模块之商品管理
共63个文件
class:14个
java:14个
xml:13个
需积分: 35 18 下载量 189 浏览量
2017-08-01
12:38:57
上传
评论
收藏 756KB ZIP 举报
温馨提示
之前一家公司的商城管理项目下的一个模块,自己写的测试用的,还存在一个框架缓存的问题没处理,把hibernate的一级缓存clear就好了
资源推荐
资源详情
资源评论
收起资源包目录
good.zip (63个子文件)
good
.project 1KB
src
action
TopicAction.java 7KB
UserAction.java 10KB
struts.xml 3KB
hibernate.cfg.xml 1KB
dao
UserDao.java 346B
impl
TopicDaoImpl.java 2KB
UserDaoImpl.java 1KB
GoodsDaoImpl.java 3KB
GoodsDao.java 551B
TopicDao.java 461B
util
IsUser.java 908B
HibernateSessionFactory.java 3KB
entity
User.java 992B
Page.java 2KB
User.hbm.xml 908B
Topic.hbm.xml 1KB
Topic.java 1KB
Goods.hbm.xml 1KB
Goods.java 1KB
WebRoot
top.jsp 923B
WEB-INF
classes
action
UserAction.class 13KB
TopicAction.class 9KB
struts.xml 3KB
hibernate.cfg.xml 1KB
dao
impl
TopicDaoImpl.class 2KB
UserDaoImpl.class 2KB
GoodsDaoImpl.class 4KB
TopicDao.class 416B
UserDao.class 349B
GoodsDao.class 661B
util
IsUser.class 1KB
HibernateSessionFactory.class 3KB
entity
User.class 1KB
Goods.class 2KB
User.hbm.xml 908B
Page.class 3KB
Topic.hbm.xml 1KB
Goods.hbm.xml 1KB
Topic.class 2KB
lib
mysql-connector-java-5.1.7-bin.jar 693KB
web.xml 981B
register.jsp 2KB
left.jsp 1KB
frameset.jsp 982B
jquery-3.0.0.min.js 84KB
META-INF
MANIFEST.MF 39B
main
updateg.jsp 1KB
addtopic.jsp 1KB
land.jsp 1KB
addg.jsp 1KB
look.jsp 4KB
alltopic.jsp 3KB
.myhibernatedata 433B
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 515B
com.genuitec.eclipse.core.prefs 100B
org.eclipse.jdt.core.prefs 364B
org.eclipse.wst.jsdt.ui.superType.name 6B
com.genuitec.runtime.libraries.xml 238B
org.eclipse.wst.common.component 471B
.jsdtscope 522B
.classpath 2KB
共 63 条
- 1
资源评论
冰沙
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功