Java Doget, dopost 方法和文件上传
index.html
<! Doctype html> <html lang = "en"> <éad> <meta charset = "utf-8"> <itle> title </ title> </ head> <body> <form action = "/ test" metheth = "post" enctype = "multipart / form-data"> <table type = "text"> </td> <tr> <td> 密 码: </td> <td Colspan = "2"> <entrée name = "mot de passe" type = "mot de passe"> </td> </tr> <tr> <tr align = "Center"> <td> <entrée name = "Login" type = "soupre" Value = "重置"> </td> </tr> <tr> <td colspan = "2"> <input type = "radio" name = "sexe" value = "mâle"> 男 </td> <td Colspan = "2"> <entrée = "radio" name = "sexe" value = "féminin"> 女 </td> </tr> <tr> <td colspan = "2"> </pd> </tr> <tr> <td Colspan = "2"> </ TD> </tr> <tr> <td Colspan = "2"> </ TD> </tr> <tr> <td Colspan = "2"> </ TD> </tr> <tr> <td Colspan = "2"> </ Td> </tr> <tr> <td Colspan = "2"> </ TD> </tr> <tr> <td Colspan = "2"> </ping Nom type = "file"> </td> </tr> </ table> </ form> </ body> </html>
TestServlet.java
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 Javax.Servert. javax.servlet.servletInputStream; import javax.servlet.servletOutStream; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; Import javax.servlet.http.httpservletResponse; import java.io.bytearrayoutputStream; import java.io.file; import java.io.ioException; import java.net.urldecoder; import java.net.urlencoder; importer java.util.enumeration; importation java.ulil.; Day15_web * Créé: Lulu * Date: 2016/8/16 * / @ webservlet (name = "testServlet") Public Class TestServlet étend httpservlet {private file root_upload; public testServlet () {root_upload = new File ("c: / temp"); if (! root_upload.exists ()) {root_upload.mkDirs (); }} // 两种链接方式 DOPOST doget protected void doPost (request httpservletRequest, httpservletResponse réponse) lève ServletException, ioException {réponse.SetcharAtterencoding ("utf-8"); request.SetcharAtterencoding ("UTF-8"); ServletOutputStream OS = Response.getOutputStream (); StringBuilder Builder = new StringBuilder (); builder.append ("<html>"); builder.append ("<read>"); builder.append ("<meta charset = /" utf-8 / ">"); builder.append ("<Title> 测试 Servlet </Title>"); builder.append ("</ada>"); Builder.Apend ("<1 Body>"); Énumération <string> names = request.getheadernames (); while (names.hasmoreElements ()) {String name = nameS.NextElement (); builder.append (name) .append (":") .append (request.getheader (name)) .append ("<br>"); } DiskfileItemfactory factory = new DiskFileItemFactory (); Factory.SetSizEtHreshold (10); // 设置未保存在临时路径的最大值 factory.setRepository (nouveau fichier ("c: / temp / temp")); // 超过上述最大值后保存的临时路径 ServletFileUpload upload = new ServletFileupload (Factory); try {list <FeleItem> list = upload.parsErequest (request); // 上传的文件列表 pour (fichieritem item: list) {builder.append (item.getFieldName ()) .Append (":") .Apnd (item.isformField ()? item.getString (): item.getName () // 判断是不是属性, 如果是属性, 就. if (! item.isformField ()) {file file = new File (root_upload, item.getName ()); builder.append (file.getAbsolutepath ()). append ("<br>"); item.write (fichier); }}} catch (fileUpLaDaDException e) {e.printStackTrace (); } catch (exception e) {e.printStackTrace (); } //可以从输入流中读取数据// ServletInputStream is = request.getInputStream();// byte[] buffer = new byte[8192];// int len ;// ByteArrayOutputStream bos= new ByteArrayOutputStream();// while ((len = is.read(buffer)) != -1) {// bos.write(buffer, 0, len); //} // builder.append ("inputStream:") // .Apnd (bos.tostring ("utf-8")) // .append ("<br>"); // builder.append ("<h1> post 的请求参数 </ h1>"). request.getParameTernames (); // while (ParameteraMes.HasMoreElements ()) {// String name = ParameteraMes.NextElement (); // Builder.Apend (Name) // .APPEND (":") // .APPEND (request.getParameter (name)) // .append ("<br/>"); // // 接收来自浏览器的文件,, os.write (builder.toString (). GetBytes ("UTF-8")); // 参数列表: 待转码的字符串, 字符编码 urlencoder.encode ("&", "utf-8"); UrldeCodeer.decode ("% 26", "utf-8"); builder.append ("</body>"); builder.append ("</html>"); } Protected void doGet (HttpServLetRequest Request, HttpServletResponse Response) lève Servlexception, ioException {doPost (request, réponse); }}web.xml
<? xml version = "1.0" encoding = "utf-8"?> <web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version = "3.1"> <servlet> <Serplet-Name> TestServertt <servlet-class> org.lulu.learn.testServlet </ servlet-class> </vrlet> <servlet-mapping> <servlet-name> testServlet </vrlet-name> <url-potern> / test </url-sattern> </ servlet-mapping> </wep-apprent>
感谢阅读 , 希望能帮助到大家 , 谢谢大家对本站的支持!