Java Doget, Dopost 方法和文件上传
index.html
<! DocType html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> title </title> </head> <body> <form de action = "/test" método = "post" enctype = "multipart/form-data"> <table> <tr> <td> 用户名: </td> <td> <td <input name/"type" " </td> <tr> <td> 密 码: </td> <td colspan = "2"> <input name = "contraseña" type = "contraseña"> </td> </tr> <tr align = "center"> <td> <input name = "login" type = "Enviar" valor = "" "> </td> <td> <td <input name =" Registro "type" type "RESET" valor = "重置"> </td> </tr> <tr> <td colspan = "2"> <input type = "radio" name = "sex" value = "masculino"> 男 </td> <td colspan = "2"> <input type = "radio" name = "sex" valor = "femenino"> 女 </td> </tr> <tr> <td "colsspan <" name "" "" "". type = "file"> </td> </tr> </table> </form> </body> </ html>
TestServlet.java
importar org.apache.commons.fileupload.fileitem; import org.apache.commons.fileUpload.fileUploadException; import org.apache.commons.fileupload.disk.diskfileitemFactory; import org.apache.commons.fileplroad.servlet.servletTletTletTlet; javax.servlet.servletException; import javax.servlet.servletinputStream; import javax.servlet.servletutputStream; import javax.servlet.annotation.webservlet; import javax.servlet.htp.htttpservlet; import javax.servlet.http.httpservletrequest; javax.servlet.http.httpservletResponse; import java.io.bytearrayutputStream; import java.io.file; import java.io.ioexception; import java.net.urldecoder; import java.net.urlUrLaRLAn Day15_web * Creado: Lulu * Fecha: 2016/8/16 */@WebServlet (name = "testServlet") public class testServlet extiende httpservlet {archivo privado root_upload; public testServlet () {root_upload = nuevo archivo ("c:/temp"); if (! root_upload.exists ()) {root_upload.mkdirs (); }} // 两种链接方式 dopost doget protegido void dopost (httpservletRequest solicitud, respuesta httpservletResponse) arroja servletException, ioexception {respuesta.setcharacterEncoding ("UTF-8"); request.setcharacterEncoding ("UTF-8"); ServLetOutputStream OS = Response.getOutputStream (); StringBuilder Builder = new StringBuilder (); builder.append ("<html>"); builder.append ("<head>"); builder.append ("<meta charset =/" utf-8/">"); builder.append ("<title> 测试 servlet </title>"); builder.append ("</head>"); builder.append ("<body>"); Enumeration <String> names = request.getheadernames (); while (names.hasmoreElements ()) {String name = names.nextelement (); Builder.append (nombre) .Append (":") .Append (request.getheader (nombre)) .Append ("<br>"); } DiskfileitemFactory factory = new DiskFileItemFactory (); factory.setsizethReshold (10); // 设置未保存在临时路径的最大值 factory.setRepository (nuevo archivo ("c:/temp/temp")); // 超过上述最大值后保存的临时路径 ServletFileUpload upload = new ServletFileUpload (Factory); Pruebe {list <StilEitem> list = upload.parserequest (request); // 上传的文件列表 para (fileitem item: list) {builder.append (item.getFieldName ()) .Append (":") .Append (item.isformfield ()? item.getString (): item.getName ()) // 判断是不是属性, 就. if (! item.isformfield ()) {archivo file = nuevo archivo (root_upload, item.getName ()); builder.append (file.getabsolutePath ()). append ("<br>"); item.write (archivo); }}} Catch (FileUploadException e) {E.PrintStackTrace (); } catch (Exception e) {E.PrintStackTrace (); } // 可以从输入流中读取数据 // servletInputStream is = request.getInputStream (); // byte [] buffer = new byte [8192]; // int len; // byteArrayReutputStream bos = new ByteArAyOutputPutut (); // while ((len = is.read (buffer))! } // builder.append ("inputStream:") // .Append (Bos.ToString ("utf-8")) // .Append ("<br>"); // builder.append ("<h1> post 的请求参数 </h1>"). append ("<br/>"); ////umeration <String> parameternames = request (parameternames.hasmoreElements ()) {// string name = parameternames.nextelement (); // builder.append (name) // .append (":") // .append (request.getparameter (name)) // .append ("<br/>"); //} // 接收来自浏览器的文件, OS.Write (Builder.ToString (). GetBytes ("UTF-8")); // 参数列表: 待转码的字符串, 字符编码 urlencoder.encode ("&", "utf-8"); UrldeCoder.Decode ("%26", "UTF-8"); builder.append ("</body>"); builder.append ("</html>"); } Proteged void doget (httpservletRequest solicitud, respuesta httpservletResponse) lanza ServletException, ioexception {dopost (solicitud, respuesta); }}web.xml
<? xml versión = "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/javaeeeeeeeeeeeee/web-app_3_1.xsd" version = "3.1"> <ervlet> <ervlet-name> testservlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlet </servlete <Servlet-class> org.lulu.learn.testservlet </servlet-class> </servlet> <ervlet-mapping> <servlet-name> testServlet </servlet-name> <url-pattern>/test </ url-pattern> </servlet-mapping> </papp>
感谢阅读 , 希望能帮助到大家 谢谢大家对本站的支持! 谢谢大家对本站的支持!