sample.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Sample</title>
</head>
<body>
<form id="form">
Username : <input type="text" id="username" name="username"><br>
Password : <input type="password" id="password" name="password"><br>
Image : <input type="file" id="image" name="image" accept="image/*"><br>
<input type="submit" value="send">
</form>
</body>
<script type="text/javascript" src="sample.js"></script>
</html>
sample.js
//Créer un objet de formulaire
var form = document.getElementById("form");
//Que faire lorsque l'événement de soumission se produit
form.addEventListener("submit", function(event) {
//Supprimez la fonction par défaut du formulaire et gérez-la avec JavaScript
event.preventDefault();
check();
});
function check() {
//Récupérer la valeur du formulaire
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var image = document.getElementById("image").value;
//Envoyer si saisi
if (username != "" && password != "" && image != "") {
sendData();
} else {
alert("Please input all item.");
}
}
function sendData() {
//Création d'un objet FormData
var formData = new FormData(form);
//Envoyer une requête HTTP avec XMLHttpRequest
var req = new XMLHttpRequest();
//Traitement lorsque la transmission / réception est terminée
req.addEventListener("load", function(event) {
if (req.responseText == "done") {
//Traitement lorsque le traitement est réussi
alert("Succeeded.");
} else {
alert("Failed to send.");
}
});
//Traitement en cas d'échec de la transmission / réception
req.addEventListener("error", function(event) {
alert("Error");
});
//Paramètres de requête HTTP
req.open("POST", "/sample/SampleServlet"); // /Nom de l'application/Nom du servlet
//Envoyer une demande
req.send(formData);
}
SampleServlet.java
package controller;
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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;
@WebServlet("/SampleServlet")
public class SampleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public SampleServlet() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//Texte de la réponse
String responseText = "done";
//Créer ServletFileUpload à partir de DiskFileItemFactory
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
try {
//Stocker les données du formulaire de demande dans une liste
List list = sfu.parseRequest(request);
for (Object o : list) {
//Traitez chaque donnée de formulaire comme un FileItem
FileItem item = (FileItem) o;
//Branche selon que FileItem est un champ ou un fichier
if (item.isFormField()) {
//Pour les champs, obtenez le nom et la valeur du champ
// (Sous la forme<input name="Nom de domaine" value="Concents entrés")
String fieldName = item.getFieldName();
String value = item.getString();
if (fieldName.equals("username")) {
//Traitement du nom d'utilisateur
System.out.println("username : " + value);
} else if (fieldName.equals("password")){
//Traitement des mots de passe
System.out.println("password : " + value);
}
} else {
File file = new File(item.getName());
try {
String dirPath = "Destination de sauvegarde du fichier image";
String filePath = dirPath + File.separator + file.getName();
//Enregistrer le fichier image
item.write(new File(filePath));
} catch (IOException e) {
e.printStackTrace();
responseText = "error";
} catch (Exception e) {
e.printStackTrace();
responseText = "error";
}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
responseText = "error";
}
//Envoyer une réponse
response.getWriter().print(responseText);
}
}
Si non entré
Lorsque tous les éléments sont saisis
JavaScript
Servlet
Recommended Posts