java注册头像_注册页面头像上传的实现(javaweb相关)
注册页面头像上传的实现:
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相关)相关推荐
- node给java发送文件_如何实现node上传文件到后台?
我在本地有一个主机,装了node,然后要把这个主机的一些监控视频或者其他文件上传到服务器,用的是post去请求java接口,这个怎么实现 function httpPost (url, params, ...
- java文件异步上传_[Java教程]原生javascript实现文件异步上传
[Java教程]原生javascript实现文件异步上传 0 2017-10-25 19:00:06 效果图: 代码:(demo33.jsp) demo33.jsp名称文件确定 本文网址:http:/ ...
- Java Web项目中遇到的文件上传与下载问题
(转发自:https://www.cnblogs.com/xdp-gacl/p/4200090.html) 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中 ...
- java实现七牛云图片文件的上传
java实现七牛云图片文件的上传 七牛云:https://portal.qiniu.com/create#resource 首先需要去注册一个账号实现实名认证 之后打开七牛云的 我们需要先创建一个储存 ...
- jsp页面文件上传的详细教程
0)导入文件上传的依赖 <dependency><groupId>commons-fileupload</groupId><artifactId>com ...
- java多图片上传json_[Java教程]SpringMVC框架五:图片上传与JSON交互
[Java教程]SpringMVC框架五:图片上传与JSON交互 0 2018-08-07 22:00:42 在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包 ...
- java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表
全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现ftp连接.登陆.上传.下载.删除文件.获取目录.文件列表等操作. 本地调试,首先需要在本机上开启ftp服务和ftp站点. 测试代码 ...
- node 生产的env文件怎么注入_前端各种文件上传攻略,从小图片到大文件断点续传...
写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...
- html上传图片后,在页面显示上传的图片
html上传图片后,在页面显示上传的图片 1.html <form class="container" enctype="multipart/form-data&q ...
最新文章
- JAXB在Java 9/10并且使用Tomcat 9的问题
- Service Team在索引表CRMD_ORDER_INDEX中的存储设计
- Servlet 3.0异步处理可将服务器吞吐量提高十倍
- 1009家网站被约谈,一批恶意营销账号终于被关闭了
- maven如何直接手动下载jar包
- Oracle 学习资料
- 基于Javaweb的图书馆管理系统设计与实现(开题报告+论文).doc
- 华为云官网前端的技术演进与低代码实践
- 工作流系列(4.1)-Activity表结构介绍
- Ubuntu 18.04.2 LTS Bionic Beaver 发布
- 行测-言语理解与表达-逻辑填空
- HTTP协议和URLConnection使用
- 红米NOTE8PRO拍照技巧
- 新款Macbook Pro可以升级固态硬盘吗?
- 已知序列1,2,3,5,8,...,求第20项的值( C 语言)
- windows IDT
- HRM人力资源系统-Day05
- 菜鸟也想玩搜索引擎——爬虫部分技术要点浅析
- 【我利用国庆时间肝了个游戏分享给大家play】
- 【硬件】MOS管及CMOS器件介绍