java doget, dopost 方法和文件上传
index.html
<! doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> title </title> </head> <body> <form action = "/test" method = "post" enctype = "multipart/form-data" type = "text"> </td> <tr> <td> 密: </td> <td colspan = "2"> <ชื่ออินพุต = "รหัสผ่าน" type = "รหัสผ่าน"> </td> </tr> <tr align = "center"> <td> value = "重置"> </td> </tr> <tr> <td colspan = "2"> <อินพุต type = "วิทยุ" ชื่อ = "sex" value = "male"> 男 </td> <td colspan = "2"> <อินพุตประเภท = "วิทยุ" type = "file"> </td> </tr> </table> </form> </body> </html>
testservlet.java
นำเข้า org.apache.Commons.FileUpload.FileItem; นำเข้า org.apache.Commons.FileUpload.FileUploAdexception; นำเข้า org.apache.Commons.FileUpload.Disk.DiskFileItemFactory; javax.servlet.servletexception; นำเข้า Javax.servlet.servletInputStream นำเข้า Javax.servlet.servletutputStream; นำเข้า Javax.servlet.annotation.webservlet; นำเข้า Javax.servlet.http.httpservlet; javax.servlet.http.httpservletResponse; นำเข้า java.io.bytearrayoutputstream; นำเข้า java.io.file; นำเข้า java.io.ioexception; นำเข้า java.net.urldecoder; นำเข้า Java.net.urlencoder; day15_web * สร้างขึ้น: lulu * วันที่: 2016/8/16 */@webservlet (name = "testServlet") Public Class TestServlet ขยาย httpservlet {ไฟล์ส่วนตัว root_upload; Public TestServlet () {root_upload = ไฟล์ใหม่ ("c:/temp"); if (! root_upload.exists ()) {root_upload.mkdirs (); }} // 两种链接方式 dopost doGet void dopost (httpservletRequest Request, httpservletResponse Reprence) โยน servletexception, ioexception {Response.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>"); การแจงนับ <String> ชื่อ = request.getheaderNames (); ในขณะที่ (names.hasmoreElements ()) {string name = names.nextElement (); builder.append (ชื่อ) .append (":") .append (request.getheader (ชื่อ)) .append ("<br>"); } DiskFileItemFactory Factory = ใหม่ diskFileItemFactory (); Factory.SetSizEthreshold (10); // 设置未保存在临时路径的最大值 Factory.SetRepository (ไฟล์ใหม่ ("C:/TEMP/TEMP")); // 超过上述最大值后保存的临时路径 ServletFilePilePilePoload อัปโหลด = ใหม่ servletFileUpload (โรงงาน); ลอง {list <fileitem> list = upload.parserequest (คำขอ); // 上传的文件列表สำหรับ (รายการ fileitem: รายการ) {builder.append (item.getfieldName ()) .append (":") .append (item.isformfield (); if (! item.isformfield ()) {ไฟล์ไฟล์ = ไฟล์ใหม่ (root_upload, item.getName ()); builder.append (file.getabsolutepath ()). ผนวก ("<br>"); item.write (ไฟล์); }}} catch (fileuploadexception e) {e.printstacktrace (); } catch (exception e) {e.printstacktrace (); } // 可以从输入流中读取数据 // servletInputStream คือ = request.getInputStream (); // byte [] buffer = byte ใหม่ [8192]; // int len; // bytearrayputTream bos = new ByteArrayputStream (); } // builder.append ("inputstream:") // .append (bos.toString ("UTF-8")) // .Append ("<br>"); // builder.Append ("<h1> โพสต์的请求参数 </h1>") (parameterNames.hasmoreElements ()) {// ชื่อสตริง = parameterNames.nextElement (); // builder.append (ชื่อ) // .append (":") // .append (request.getParameter (ชื่อ)) // .append ("<br/>"); OS.WRITE (builder.toString (). getBytes ("UTF-8")); // 参数列表: 待转码的字符串, 字符编码 urlencoder.encode ("&", "UTF-8"); urldecoder.decode ("%26", "UTF-8"); builder.append ("</body>"); builder.append ("</html>"); } void doget ที่ได้รับการป้องกัน (คำขอ httpservletrequest, การตอบสนอง httpservletResponse) พ่น servletexception, ioexception {dopost (คำขอ, การตอบสนอง); -web.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http://ww.w3. XSI: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" เวอร์ชัน = "3.1" <servlet-class> org.lulu.learn.testservlet </servlet-class> </servlet> <servlet-mapping> <servlet-name> testservlet </servlet-name> <url-pattern>/test </url-pattern>
感谢阅读, 希望能帮助到大家, 谢谢大家对本站的支持!