Java Doget, Dopost 方法和文件上传
index.html
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> title </title> </head> <body> <form action = "/test" method = "ectype =" multiply/form-data "> <tlece> <tr> <td> 用户名: </td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <Td> type = "text"> </td> <tr> <td> 密 码: </td> <td colspan = "2"> <input name = "password" type = "password"> </td> </tr> <tr align = "center"> <td> <input name = "login" type = "value =" 登陆 "> </td> <td> <td> <preget" = "negret" = "negret" = "negen" = "regist" = "regist" = "negne" = "regist" = " value = "重置"> </td> </tr> <tr> <td colspan = "2"> <input type = "radio" name = "sex" value = "male"> 男 </td> <td colspan = "2"> <input type = "radio" name = "sex" value = "fome"> 女 uplade upply = vame = "2" </td> </tr> <tr> <tr> <Td vome = "2". type = "file"> </td> </tr> </table> </form> </body> </html>
Testservlet.java
Импорт org.apache.commons.fileupload.fileitem; import org.apache.commons.fileupload.fileuploadexception; import org.apache.commons.fileupload.disk.diskfileitemfactory; import.apache.commons.fileupload.servletfilefule; javax.servlet.servletexception; import javax.servlet.servletinputstream; импорт javax.servlet.servletoutputstream; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservelt; import javax.servlet.httpspestps.httpservlecer; javax.servlet.http.httpservletresponse; импорт java.io.bytearrayoutputstream; импорт java.io.file; импорт java.io.ioexception; import java.net.urldecoder; импорт java.net.urlencoder; import java.ut.enumeration; Day15_web * Создано: lulu * Дата: 2016/8/16 */@webservlet (name = "testservlet") public class testservlet extends 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 (httpservlectrequest, httpservletresponse response) Throws 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 ("<Telect> 测试 Сервлет </title>"); builder.append ("</head>"); Builder.Append ("<body>"); Enumeration <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.setSizeTherShold (10); // 设置未保存在临时路径的最大值 factory.setRepository (новый файл ("c:/temp/temp")); // 超过上述最大值后保存的临时路径 ServletFileUpload upload = new ServletFileUpload (Factory); try {list <FieleItem> list = upload.parseRequest (request); // 上传的文件列表 для (файл файла fileitem: list) {builder.append (item.getfieldname ()) .append (":") .append (item.isformfield ()? if (! item.isformfield ()) {file file = new File (root_upload, item.getName ()); builder.append (file.getabsolutepath ()). Append ("<br>"); item.write (file); }}} catch (fileuploadexception 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))! len); //} // builder.append ("inputstream:") // .append (bos.tostring ("utf-8")) // .append ("<br>"); // builder.append ("<h1> post 的请求参数 </h1>"). Приложение ("<br/>"); request.getParameterNames (); // while (parameterNames.hasmoreElements ()) {// string name = parameternames.nextelement (); // builder.append (name) // .append (":") // .append (request.getparamet 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 response) Throws ServletException, ioException {DoPost (запрос, ответ); }}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 "/www.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> <servlet-name> testserser </verslet </verlet> testserser </verslet </verslet> <Servlet-class> org.lulu.learn.testservlet </servlet> </servlet> <servlet-mapping> <servlet-name> testservlet </servlet-name> <url-pattern>/test </url-pattern> </servlet-mapping> </web-app>
感谢阅读 , 希望能帮助到大家 谢谢大家对本站的支持!