جافا دوغ ، دوبوست 方法和文件上传
index.html
<! doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> العنوان </title> </head> <body> <form Action = "/test" method = "post" enctype = "multipart/form-data"> <td> <td> type = "text"> </td> <tr> <td> 密 码: </td> <td colspan = "2"> <inputive name = "password" type = "password"> </td> </r> <tr align = "center> <td> <td name =" login "type = value = "重置"> </td> </tr> <tr> <td colspan = "2"> <input type = "radio" name = "sex" value = "male"> 男 </td> <td colspan = "2"> <input type = "radio" name = "sex" value = "女 </td> type = "file"> </td> </tr> </table> </pump> </body> </html>
TestServlet.java
استيراد org.apache.commons.fileupload.fileItem ؛ import org.apache.commons.fileupload.fileuploadexception ؛ import org.apache.commons.fileupload.disk.diskfileitemfactory ؛ javax.servlet.servletexception ؛ استيراد javax.servlet.servletinputStream ؛ استيراد javax.servlet.servletutputstream ؛ استيراد javax.servlet.annotation.webservlet ؛ import javax.servlet.http.httpservlet ؛ javax.servlet.http.httpservletresponse ؛ استيراد java.io.bytearrayoutputstream ؛ استيراد java.io.file ؛ استيراد java.io.ioExcept day5_web * تم إنشاؤه: lulu * التاريخ: 2016/8/16 */@webservlet (name = "testServlet") تمتد اختبار الفئة العامة httpservlet {private file root_upload ؛ testServlet () {root_upload = ملف جديد ("C:/temp") ؛ if (! root_upload.exists ()) {root_upload.mkdirs () ؛ }} // 两种链接方式 DOPOST DOGE VOID DOPOST (طلب httpservletrequest ، استجابة httpservletresponse) يلقي servletexception ، ioException {response.setcharacterencoding ("UTF-8") ؛ request.setcharacterencoding ("UTF-8") ؛ ServleToutPutStream OS = reponse.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> names = request.getheaderNames () ؛ بينما (names.hasmoreElements ()) {string name = names.nextElement () ؛ builder.append (name) .Append (":") .Append (request.getheader (name)) .Append ("<br>") ؛ } diskfileItemFactory Factory = new DiskfileItemFactory () ؛ مصنع. جرب {list <IbleItem> list = upload.parserequest (request) ؛ // 上传的文件列表 for (fileItem item: list) {builder.append (item.getfieldname ()) .append (":") .Append (item.isformfield ()؟ item.getString (): item.getname () // 判断是不是属性 ، 如果是属性 ، 如果是属性 ، 就. if (! item.isformfield ()) {file file = file new (root_upload ، item.getName ()) ؛ builder.append (file.getabsolutepath ()). إلحاق ("<br>") ؛ item.write (ملف) ؛ }}} catch (fileUploAdexception e) {e.printStackTrace () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } // 可以从输入流中读取数据 // servletinputStream هو = request.getInputStream () ؛ // byte [] buffer = new byte [8192] ؛ // int len ؛ // bytearrayoutputstream bos = new BytearRayoutputStream () ؛ } // builder.append ("inputStream:") // .append (Bos.ToString ("UTF-8")) // .append ("<br>") ؛ // builder.append ("<h1> post 的请求参数 </h1>). (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>") ؛ } doget void المحمي (طلب httpservletrequest ، استجابة httpservletresponse) يلقي servletexception ، ioException {dopost (request ، response) ؛ }}web.xml
<؟ XSI: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" الإصدار = " <Srevlet-Class> org.lulu.learn.testservlet </servlet-class> </servlet> <sterlet-mapping> <stervlet-name> testServlet </servlet-name> <Url-pattern>/test </url-pattern> </servlet mapping> </web-app>
感谢阅读 , 希望能帮助到大家 , 谢谢大家对本站的支持!