package org.action;
import java.io.*;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.dao.XsDao;
import org.dao.ZyDao;
import org.dao.imp.KcDaoImp;
import org.dao.imp.XsDaoImp;
import org.dao.imp.ZyDaoImp;
import org.model.Dlb;
import org.model.Kcb;
import org.model.Xsb;
import org.model.Zyb;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class XsAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
//定义学生对象
private XsDao xsDao;
private Xsb xs;
//定义课程对象
private Kcb kcb;
//用于获取照片文件
private File zpFile;
private File uploadFile;
private String uploadFileName; //上传的文件名
//第一专业对象
private Zyb zyb;
//下面生成它们的get和set方法
public File getZpFile() {
return zpFile;
}
public void setZpFile(File zpFile) {
this.zpFile = zpFile;
}
public Kcb getKcb() {
return kcb;
}
public void setKcb(Kcb kcb) {
this.kcb = kcb;
}
public Zyb getZyb() {
return zyb;
}
public void setZyb(Zyb zyb) {
this.zyb = zyb;
}
public Xsb getXs() {
return xs;
}
public void setXs(Xsb xs) {
this.xs = xs;
}
//默认情况下,用该方法 ,获得当前学生的个人信息
public String execute() throws Exception {
//获得Session对象
Map session=(Map)ActionContext.getContext().getSession();
//从Session中取出当前用户
Dlb user=(Dlb) session.get("user");
//创建XsDao接口对象
xsDao=new XsDaoImp();
//根据登录学号得到该学生信息
Xsb xs=xsDao.getOneXs(user.getXh());
Map request=(Map)ActionContext.getContext().get("request");
//保存
request.put("xs", xs);
return SUCCESS;
}
//读取照片信息
/*
public String getImage()throws Exception{
xsDao=new XsDaoImp();
//得到照片的字节数组
byte[] zp=xsDao.getOneXs(xs.getXh()).getZp();
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("image/jpeg");
//得到输出流
ServletOutputStream os=response.getOutputStream();
if(zp!=null&&zp.length>0){
for(int i=0;i<zp.length;i++){
os.write(zp[i]);
}
}
//不去向任何任何页面
return NONE;
}
*/
//这里后面还要加入其他方法,这里先不列出,用到后会列出代码,就要加入到这里
//进入修改学生信息页面
public String updateXsInfo()throws Exception{
//获取当前用户对象
Map session=(Map)ActionContext.getContext().getSession();
Dlb user=(Dlb) session.get("user");
xsDao=new XsDaoImp();
ZyDao zyDao=new ZyDaoImp();
//取出所有专业信息,因为在修改学生信息时,专业栏是下拉列表,
//选择专业还不是学生自己随便填写
List zys=zyDao.getAll();
//得到当前学生的信息
Xsb xs=xsDao.getOneXs(user.getXh());
Map request=(Map)ActionContext.getContext().get("request");
request.put("zys", zys);
request.put("xs", xs);
return SUCCESS;
}
//修改学生信息
public String updateXs()throws Exception{
xsDao =new XsDaoImp();
ZyDao zyDao=new ZyDaoImp();
//创建一个学生对象,用于存放要修改的学生信息
Xsb stu=new Xsb();
//设置学生学号
stu.setXh(xs.getXh());
//由于没有修改学生对应的选修的课程所以直接取出不用改变
//引文Hibernate的级联到第三张表所以要设置,
//如果不设置,会认为设置为空,会把连接表中有关内容删除
Set list=xsDao.getOneXs(xs.getXh()).getKcs();
//设置学生对应多项课程的Set
stu.setKcs(list);
//设置用户填写的姓名
stu.setXm(xs.getXm());
//性别
stu.setXb(xs.getXb());
//出生时间
stu.setCssj(xs.getCssj());
//总学分
stu.setZxf(xs.getZxf());
//备注
stu.setBz(xs.getBz());
Zyb zy=zyDao.getOneZy(zyb.getId());
//专业,这里要设置对象。所以下拉列表中传值是要传专业的ID
stu.setZyb(zy);
//处理照片信息
/*
if(this.getZpFile()!=null){
//到得输入流
FileInputStream fis=new FileInputStream(this.getZpFile());
//创建大小为fis.available()的字节数组
byte[] buffer=new byte[fis.available()];
//把输入流读到字节数组中
fis.read(buffer);
stu.setZp(buffer);
}
*/
if(this.getZpFile()!=null){
uploadFile=new File(xs.getXh()+".jpg");
uploadFileName=uploadFile.getName(); //上传的文件名
stu.setZp(uploadFileName);
ServletContext req= ServletActionContext.getServletContext();
String path = req.getRealPath("/");
String basePath = path+"xsimage\\";
System.out.print(basePath);
InputStream is=new FileInputStream(this.getZpFile()); //根据上传的文件得到输入流
OutputStream os=new FileOutputStream(basePath+uploadFileName); //指定输出流地址
byte buffer[]=new byte[1024];
int count=0;
while((count=is.read(buffer))>0){
os.write(buffer,0,count); //把文件写到指定位置的文件中
}
os.close(); //关闭
is.close();
}
//修改
xsDao.update(stu);
return SUCCESS;
}
/*
private File upload; //上传文件
private String uploadFileName; //上传的文件名
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload=upload;
}
public String execute() throws Exception {
// TODO Auto-generated method stub
InputStream is=new FileInputStream(getUpload()); //根据上传的文件得到输入流
OutputStream os=new FileOutputStream("d:\\upload\\"+uploadFileName); //指定输出流地址
byte buffer[]=new byte[1024];
int count=0;
while((count=is.read(buffer))>0){
os.write(buffer,0,count); //把文件写到指定位置的文件中
}
os.close(); //关闭
is.close();
*/
//得到学生选修的课程
public String getXsKcs() throws Exception{
Map session=(Map)ActionContext.getContext().getSession();
Dlb user=(Dlb) session.get("user");
String xh=user.getXh();
//得到当前学生的信息
Xsb xsb=new XsDaoImp().getOneXs(xh);
//取出选修的课程Set
Set list=xsb.getKcs();
Map request=(Map) ActionContext.getContext().get("request");
//保存
request.put("list",list);
return SUCCESS;
}
//退选课程
public String deleteKc()throws Exception{
Map session=(Map)ActionContext.getContext().getSession();
String xh=((Dlb)session.get("user")).getXh();
xsDao=new XsDaoImp();
Xsb xs2=xsDao.getOneXs(xh);
Set list=xs2.getKcs();
Iterator iter=list.iterator();
//取出所有选择的课程进行迭代
while(iter.hasNext()){
Kcb kc2=(Kcb)iter.next();
//如果遍历到退选的课程的课程号就从list中删除
if(kc2.getKch().equals(kcb.getKch())){
iter.remove();
}
}
//设置课程的Set
xs2.setKcs(list);
xsDao.update(xs2);
return SUCCESS;
}
//选定课程
public String selectKc()throws Exception{
Map session=(Map)ActionContext.getContext().getSession();
String xh=((Dlb)session.get("user")).getXh();
xsDao=new XsDaoImp();
Xsb xs3=xsDao.getOneXs(xh);
Set list=xs3.getKcs();
Iterator iter=list.iterator();
//选修课程时先遍历已经选的课程,如果在已经选修的课程中找到就返回ERROR
while(iter.hasNext()){
Kcb kc3=(Kcb)iter.next();
if(kc3.getKch().equals(kcb.getKch())){
return ERROR;
}
}
//如果没找到,就添加到集合中
list.add(new KcDaoImp().getOneKc(kcb.getKch()));
xs3.setKcs(list);
xsDao.update(xs3);
return SUCCESS;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
.rar (99个子文件)
学生成绩管理系统
xscj_mysql.sql 5KB
StudentInfo
.project 1KB
.mymetadata 307B
src
struts.xml 2KB
hibernate.cfg.xml 972B
org
action
LoginAction.java 815B
KcAction.java 2KB
XsAction.java 7KB
filter
SetCharacterEncodingFilter.java 4KB
model
Xsb.java 2KB
Cjb.hbm.xml 962B
CjbId.java 1KB
Zyb.hbm.xml 891B
Dlb.hbm.xml 762B
Kcb.hbm.xml 1KB
Dlb.java 852B
Xsb.hbm.xml 1KB
Zyb.java 1KB
Cjb.java 860B
Kcb.java 1KB
dao
DlDao.java 139B
ZyDao.java 205B
XsDao.java 200B
imp
ZyDaoImp.java 1KB
XsDaoImp.java 979B
DlDaoImp.java 788B
KcDaoImp.java 2KB
KcDao.java 224B
util
HibernateSessionFactory.java 3KB
WebRoot
WEB-INF
classes
struts.xml 2KB
hibernate.cfg.xml 972B
org
action
KcAction.class 2KB
XsAction.class 6KB
LoginAction.class 1KB
filter
SetCharacterEncodingFilter.class 2KB
model
Zyb.class 2KB
Cjb.hbm.xml 962B
Kcb.class 2KB
Dlb.class 1KB
Xsb.class 2KB
Zyb.hbm.xml 891B
CjbId.class 1KB
Dlb.hbm.xml 762B
Kcb.hbm.xml 1KB
Xsb.hbm.xml 1KB
Cjb.class 1KB
dao
DlDao.class 174B
KcDao.class 259B
XsDao.class 194B
imp
DlDaoImp.class 1KB
ZyDaoImp.class 2KB
XsDaoImp.class 2KB
KcDaoImp.class 2KB
ZyDao.class 195B
util
HibernateSessionFactory.class 2KB
lib
web.xml 981B
MyJsp.jsp 842B
selectKc_success.jsp 146B
left.jsp 384B
xsKcs.jsp 1KB
xsimage
index.jsp 834B
delOneKcSuccess.jsp 135B
updateXsInfo.jsp 2KB
right.jsp 128B
allKc.jsp 1KB
selectKc_fail.jsp 163B
updateKc_success.jsp 158B
main.jsp 397B
head.jsp 455B
META-INF
MANIFEST.MF 36B
xsInfo.jsp 1021B
login.jsp 751B
image
head.jpg 17KB
updateXs_success.jsp 158B
deleteKc_success.jsp 129B
updateKcInfo.jsp 1KB
.myeclipse
.settings
org.eclipse.jdt.core.prefs 330B
com.genuitec.eclipse.j2eedt.core.prefs 1KB
hiblib
dom4j-1.6.1.jar 307KB
antlr-2.7.6.jar 433KB
commons-collections-3.1.jar 546KB
hibernate-jpa-2.0-api-1.0.1.Final.jar 100KB
slf4j-api-1.6.1.jar 25KB
hibernate3.jar 3.95MB
jta-1.1.jar 11KB
mysql-connector-java-5.1.12-bin.jar 716KB
javassist-3.12.0.GA.jar 618KB
strutslib
struts2-core-2.2.3.1.jar 756KB
javassist-3.11.0.GA.jar 600KB
commons-io-2.0.1.jar 156KB
asm-tree-3.1.jar 21KB
commons-fileupload-1.2.2.jar 58KB
asm-3.1.jar 42KB
freemarker-2.3.16.jar 860KB
asm-commons-3.1.jar 32KB
xwork-core-2.2.3.1.jar 602KB
commons-lang-2.5.jar 273KB
ognl-3.0.1.jar 224KB
.classpath 2KB
共 99 条
- 1
a872728984
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页