MyBlog--(8)个人设置页面-setinfo.jsp

setinfo.jsp


开头依旧是这些,记得把user取出来

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@include file="loginJudge.jsp" %>
<% 
	User user = (User) session.getAttribute("user");
%>

要提交的东西用form都包起来~

action提交到dosetinfo.jsp

性别那里是两个单选按钮

要记住每个input的name哟


<form id="form2" name="form2" method="post" action="dosetinfo.jsp" enctype="multipart/form-data">
                  <table width="250" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="100" height="30" align="right">真实姓名:</td>
                      <td><%=user.getRealName() %></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">性别:</td>
                      <td><label>
                        <input type="radio" name="gender" value="男" />
                        男
                         
                        <input type="radio" name="gender" value="女" /> 
                        女
                      </label></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">年龄:</td>
                      <td><input name="age" type="text" class="inputTextW110H22" /></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">地址:</td>
                      <td><input name="address" type="text" class="inputTextW110H22" /></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">电话:</td>
                      <td><input name="phone" type="text" class="inputTextW110H22" /></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">上传头像:</td>
                      <td><input name="header" type="file" class="inputTextW110H22" /></td>
                    </tr>
                    <tr>
                      <td height="30" colspan="2" align="center"><label>
                        <input type="image" name="imageField2" src="images/finish.jpg" />
                      </label></td>
                    </tr>
                  </table>
                                </form>


dosetinfo.jsp

com.jspsmart.upload.*是用来上传下载文件的,这里实现了这个功能

取user

初始化上传对象SmartUpload类的

初始化上传数据,数据在pageContext里

upload()准备上传

用RenameFile()中的rename()获取新的以当前时间(到毫秒)命名的文件名

获取要上传文件的后缀名getFiles().getFile(0).getFileExt()

设置文件新名称,用名字加上后缀

直接组出图片在数据库中的相对位置 headerimg/名字

获取头像文件在系统中的保存位置headerImgPath = this.getServletContext().getRealPath("/") + "headerimg/" + headerImgName;

保存文件 sp.getFiles().getFile(0).saveAs(headerImgPath)

然后从request中得到各个属性的值

声明user对象,存到user里

然后声明userDAO对象,更新user

再在session中更新user

然后重定向到showinfo.jsp

<%@ page language="java" import="java.util.*,cn.edu.model.*,cn.edu.dao.*,cn.edu.util.*,com.jspsmart.upload.*" contentType="text/html; charset=UTF-8"  pageEncoding="GB18030"%>
<%@include file="loginJudge.jsp"%>
<% 
	User user = (User) session.getAttribute("user");
%>
<%
	// 1. 初始化上传对象
	SmartUpload sp = new SmartUpload();
	// 2. 初始化上传数据
	sp.initialize(pageContext);
	// 3. 准备上传
	sp.upload();
	// 4. 获取新的文件名称
	String fileName = new RenameFile().rename();
	// 5. 获取上传文件的后缀名称;如:上传文件名称为suolun.jpg。这里拿到的ext是:jpg
	String ext = sp.getFiles().getFile(0).getFileExt();
	// 6. 设置文件新名称---20140102145324180 + . + jpg = 20140102145324180.jpg
	String headerImgName = fileName + "." + ext;
	// 7. 组装在数据库中图片的相对位置
	String headerImg = "headerimg/" + headerImgName;
	// 8. 获取头像文件在系统中的保存位置
	String headerImgPath = this.getServletContext().getRealPath("/") + "headerimg/" + headerImgName;
	// 9. 保存文件
	sp.getFiles().getFile(0).saveAs(headerImgPath);
	//request.setCharacterEncoding("utf-8");
	String gender=sp.getRequest().getParameter("gender");
	String age=sp.getRequest().getParameter("age");
	int ageint=0;
	if(age != null)
	ageint=Integer.parseInt(age);
	String address=sp.getRequest().getParameter("address");
	String phone=sp.getRequest().getParameter("phone");
	UserDAO udao=new UserDAO();
	user.setGender(gender);
	user.setAge(ageint);
	user.setAddress(address);
	user.setPhone(phone);
	user.setHeaderImg(headerImg);
	udao.updateUser(user);
	session.setAttribute("user",user);
	response.sendRedirect("showinfo.jsp");
	%>


这个类是自己写的,用来根据当前时间为文件命名


RenameFile.java

package cn.edu.util;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
 * 获取文件名称的类
 */

public class RenameFile {
	/*
	 * 调用方法返回文件新的按照时间命名的名称
	 */
	public String rename(){
		return new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
	}
}


showinfo.jsp

这页主要用来展示修改后的信息

从user中取出来

<%=user.getUsername() %>
********
<%=user.getRealName() %>
%=user.getGender() %> 
<%=user.getAge() %> 
<%=user.getAddress() %>
<%=user.getPhone() %>   


<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="900" valign="top"><table width="900" border="0" cellpadding="0" cellspacing="1" bgcolor="#dddddd">
      <tr>
        <td height="350" align="center" bgcolor="#fcfcfc"><table width="500" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td><table width="500" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="10"><img src="images/topleft.gif" width="10" height="28" /></td>
                <td width="480" bgcolor="#ddddcc">设置用户信息</td>
                <td width="10"><img src="images/topright.gif" width="10" height="28" /></td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td><table width="500" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="1" bgcolor="#ddddcc">
				</td>
                <td width="498" height="250" align="center">
                  <table width="250" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="100" height="30" align="right">用户名:</td>
                      <td><%=user.getUsername() %></td>
                    </tr>
                    <tr>
                      <td width="100" height="30" align="right">密码:</td>
                      <td>********</td>
                    </tr>
                    <tr>
                      <td width="100" height="30" align="right">真实姓名:</td>
                      <td><%=user.getRealName() %></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">性别:</td>
                      <td><%=user.getGender() %></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">年龄:</td>
                      <td><%=user.getAge() %></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">地址:</td>
                      <td><%=user.getAddress() %></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">电话:</td>
                      <td><%=user.getPhone() %></td>
                    </tr>
                  </table>
                </td>
                <td width="1" bgcolor="#ddddcc">
				</td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td height="5" bgcolor="#ddddcc">
			</td>
          </tr>
        </table></td>
      </tr>
      
    </table></td>
    <td> </td>
    <td></td>
        </tr>
      </table></td>
  </tr>
</table>
















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值