注册页面头像上传的实现:

1. 注册页面:register.jsp

两种方式实现图片上传:

pageEncoding="UTF-8"%>

register

body{

margin-left:700px;

margin-top:100px;

}

table{

width:500px;

height:320px;

border:1px solid #009999;

}

table tr{

border:1px solid #009999;

}

table tr td{

border:1px solid #009999;

text-align:left;

}

/* var xhr;

//1.创建xmlhttprequest(xhr)对象

function checkuser(){

try{

xhr=new XMLHttpRequest();

}catch(e){

xhr=new ActiveXObject("Microsoft.XMLHTTP");

}

//alert(xhr);

//2.设置状态改变回调函数

xhr.onreadystatechange=cb;

var uname=document.getElementById("uname");

//3.设置请求方式和路径

//xhr.open("GET","CheckUserServlet?un="+uname.value);

xhr.open("POST","CheckUserServlet");

//如果是post请求必须加上请求头

xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")

//4.发送请求

xhr.send("un="+uname.value);

}

//5.处理响应内容

function cb(){

//完成响应

if(xhr.readyState==4){

//成功响应

if(xhr.status==200){

var resText=xhr.responseText;

var msg=document.getElementById("msg");

//alert(resText);

if(resText=="t"){

msg.style.color="red";

msg.innerHTML="此用户名太受欢迎,请更换一个";

}else{

msg.style.color="green";

msg.innerHTML="恭喜您:账号可以使用";

}

}

}

//alert(xhr.readyState);

} */

$(function(){

$("#uname").blur(function(){

$.post("CheckUserServlet",{un:this.value},function(resText){

if(resText=="t"){

$("#msg").css("color","red").html("此用户名太受欢迎,请更换一个");

}else{

$("#msg").css("color","green").html("恭喜您:账号可以使用");

}

})

})

})

创建用户名:
创建密码:
注册邮箱:
地址:
爱好:
头像:

2.RegisterServlet:

package com.xintouyun.jweb.servlet;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.List;

import java.util.UUID;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;

import org.apache.commons.fileupload.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.xintouyun.jweb.entity.User;

import com.xintouyun.jweb.service.UserService;

import com.xintouyun.jweb.service.impl.UserServiceImpl;

public class RegServlet extends HttpServlet{

public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{

// Create a factory for disk-based file items

DiskFileItemFactory factory = new DiskFileItemFactory();

// Configure a repository (to ensure a secure temp location is used)

ServletContext servletContext = this.getServletConfig().getServletContext();

File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");

factory.setRepository(repository);

// Create a new file upload handler

ServletFileUpload upload = new ServletFileUpload(factory);

// Parse the request

try {

User user=new User();

List items = upload.parseRequest(request);

for (FileItem item : items) {

//如果是普通的form元素

if(item.isFormField()) {

String filename=item.getFieldName();

String value=item.getString("utf-8");

//System.out.println("普通form元素"+filename+":"+value);

if(filename.equals("username")) {

user.setUsername(value);

}else if(filename.equals("userpwd")) {

user.setUserpwd(value);

}else if(filename.equals("mail")) {

user.setEmail(value);

}else if(filename.equals("address")) {

user.setAddress(value);

}else if(filename.equals("hobby")) {

user.setHobby(value);

}

}else {

String filename=item.getName();

System.out.println("文件"+filename);

//获取文件名的后缀

String suffix=filename.substring(filename.lastIndexOf('.'));

//为了防止上传到服务器中的文件重名,所以在上传的时候我们可以将文件进行自动生成前缀,只保留后缀,再拼接到一块的方法,来避免文件重名

UUID uuid=UUID.randomUUID();

String prefix=uuid.toString();

//拼接后的文件名

String savefilename=prefix+suffix;

savefilename=savefilename.replace("-", "");

//System.out.println("要保存的文件名为"+savefilename);

String path=servletContext.getRealPath("/Images");

user.setPhoto(savefilename);

System.out.println("path"+path);

InputStream is=item.getInputStream();

OutputStream os=new FileOutputStream(new File(path+File.separator+savefilename));

byte[] b=new byte[1024];

int len;

while((len=is.read(b))!=-1) {

os.write(b, 0, len);

}

is.close();

os.close();

}

}

System.out.println("userpwd"+user.getUserpwd());

UserService userservice=new UserServiceImpl();

boolean result=userservice.saveUser(user);

if(result) {

//request.getRequestDispatcher("LoginPreServlet").forward(request, response);

response.sendRedirect("LoginPreServlet");

}else {

response.sendRedirect("RegisterPreServlet");

}

} catch (FileUploadException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{

this.doPost(request, response);

}

}

3.配置xml文件

4.重启服务器,浏览器访问

java注册头像_注册页面头像上传的实现(javaweb相关)相关推荐

  1. node给java发送文件_如何实现node上传文件到后台?

    我在本地有一个主机,装了node,然后要把这个主机的一些监控视频或者其他文件上传到服务器,用的是post去请求java接口,这个怎么实现 function httpPost (url, params, ...

  2. java文件异步上传_[Java教程]原生javascript实现文件异步上传

    [Java教程]原生javascript实现文件异步上传 0 2017-10-25 19:00:06 效果图: 代码:(demo33.jsp) demo33.jsp名称文件确定 本文网址:http:/ ...

  3. Java Web项目中遇到的文件上传与下载问题

    (转发自:https://www.cnblogs.com/xdp-gacl/p/4200090.html)   在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中 ...

  4. java实现七牛云图片文件的上传

    java实现七牛云图片文件的上传 七牛云:https://portal.qiniu.com/create#resource 首先需要去注册一个账号实现实名认证 之后打开七牛云的 我们需要先创建一个储存 ...

  5. jsp页面文件上传的详细教程

    0)导入文件上传的依赖 <dependency><groupId>commons-fileupload</groupId><artifactId>com ...

  6. java多图片上传json_[Java教程]SpringMVC框架五:图片上传与JSON交互

    [Java教程]SpringMVC框架五:图片上传与JSON交互 0 2018-08-07 22:00:42 在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包 ...

  7. java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现ftp连接.登陆.上传.下载.删除文件.获取目录.文件列表等操作. 本地调试,首先需要在本机上开启ftp服务和ftp站点. 测试代码 ...

  8. node 生产的env文件怎么注入_前端各种文件上传攻略,从小图片到大文件断点续传...

    写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...

  9. html上传图片后,在页面显示上传的图片

    html上传图片后,在页面显示上传的图片 1.html <form class="container" enctype="multipart/form-data&q ...

最新文章

  1. JAXB在Java 9/10并且使用Tomcat 9的问题
  2. Service Team在索引表CRMD_ORDER_INDEX中的存储设计
  3. Servlet 3.0异步处理可将服务器吞吐量提高十倍
  4. 1009家网站被约谈,一批恶意营销账号终于被关闭了
  5. maven如何直接手动下载jar包
  6. Oracle 学习资料
  7. 基于Javaweb的图书馆管理系统设计与实现(开题报告+论文).doc
  8. 华为云官网前端的技术演进与低代码实践
  9. 工作流系列(4.1)-Activity表结构介绍
  10. Ubuntu 18.04.2 LTS Bionic Beaver 发布
  11. 行测-言语理解与表达-逻辑填空
  12. HTTP协议和URLConnection使用
  13. 红米NOTE8PRO拍照技巧
  14. 新款Macbook Pro可以升级固态硬盘吗?
  15. 已知序列1,2,3,5,8,...,求第20项的值( C 语言)
  16. windows IDT
  17. HRM人力资源系统-Day05
  18. 菜鸟也想玩搜索引擎——爬虫部分技术要点浅析
  19. 【我利用国庆时间肝了个游戏分享给大家play】
  20. 【硬件】MOS管及CMOS器件介绍

热门文章

  1. fork和vfork,return和exit的理解
  2. linux下svn迁移
  3. 【转】集合类说明及区别
  4. vim 自定义命令 自定义快捷键(转)
  5. Oracle中SQL解析的流程
  6. 学习 WCF (6)--学习调用WCF服务的各种方法
  7. 老万的java技术书单:你还在吃快餐吗?
  8. 【奇葩面试题】因为太难而被禁用的17道Google面试题
  9. 双十一临近,怎样让买家流畅地秒杀? ——腾讯WeTest独家开放电商产品压测服务
  10. Centos+Nginx+PHP7.0编译安装(和PHP5.6老版本共存)