Java Dodget, Dopost 方法和文件上传
index.html
<! DocType html> <html Lang = "en"> <head> <meta charset = "utf-8"> <title> title </title> </head> <body> <Form Action = "/test" methode = "post" EngeTePe = "multiPart/Form-Data"> <table> <tr> <td> 用户名: </td> <td> <td> u> <td> 用户名: </td> <td> <td> u-用户名: </td> <td> <td> u-用户名: </td> <td> <td> <td> us: </td> <td> <td> u-用户名: </td> <td> <td> <td> 用户名: </td> <td> <td> u-用户名: </td> <td> <td> <td> type = "text"> </td> <tr> <td> 密 码: </td> <td colspan = "2"> <input name = "password" Typ = "Passwort"> </td> </tr. value="重置"></td> </tr> <tr> <td colspan="2"> <input type="radio" name="sex" value="male">男 </td> <td colspan="2"> <input type="radio" name="sex" value="female">女 </td> </tr> <tr> <td colspan="2" > <input name="upload" type = "file"> </td> </tr> </table> </form> </body> </html>
TestServlet.java
import org.apache.commons.FileUpload.FileItem; import org.apache.commons.FileUpload.FileUploadexception; javax.servlet.servletException; import Javax.servlet.servletInputStream; import Javax.servlet.servletOutputStream; import Javax.servlet.annotation javax.servlet.http.httpServletResponse; import Java.io.BytearrayoutputStream; Import Java.io.file; import Java.io.ioException; importieren Sie Java.net.urdecoder; DAY15_WEB * Erstellt: Lulu * Datum: 2016/8/16 */@webservlet (name = "testServlet") öffentliche Klasse testServlet erweitert HttpServlet {private Datei root_Upload; public testServlet () {root_Upload = neue Datei ("c:/temp"); if (! root_upload.exists ()) {root_Upload.mkdirs (); }} // 两种链接方式 Dopost detget geschützte void dopost (httpServletRequest-Anforderung, httpServletResponse-Antwort) löst ServletException, IOException {response.setcharactercoding ("utf-8") aus; request.setcharactercoding ("utf-8"); ServletoutputStream os = response.getOutputStream (); StringBuilder Builder = new StringBuilder (); Builder.Append ("<html>"); Builder.Append ("<kopf>"); 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 (Name) .Append (":") .Append (request.getheader (name)) .Append ("<br>"); } DiskFileItemFactory factory = new diskFileItemFactory (); factory.setSizeThreshold (10); // 设置未保存在临时路径的最大值 factory.setRepository (neue Datei ("c:/temp/temp"); // 超过上述最大值后保存的临时路径 servletFilepload Upload = new ServLetFileUpload (Factory); Versuchen Sie {list <FileItem> list = Upload.ParSerequest (Request); // 上传的文件列表 für (FileItem item: list) {builder.Append (item.getFieldName () .Append (":") .Append (isformfield (). if (! item.isformfield ()) {Datei Datei = new Datei (root_Upload, item.getName ()); Builder.Append (Datei.getabsolutepath ()). append ("<br>"); item.write (Datei); }}} catch (FileUploadexception e) {e.printstacktrace (); } catch (Ausnahme e) {e.printstacktrace (); } // 可以从输入流中读取数据 // servletInputStream ist = request.getInputStream (); // byte [] buffer = new byte [8192]; // int len; // bytearrayoutputstream bos = new BytearrayoutputStream (); // (len = is.Read (puffer)! len);// }// builder.append("InputStream: ")// .append(bos.toString("UTF-8"))// .append("<br>");// builder.append("<h1>Post的请求参数</h1>").append("<br/>");//// Enumeration<String> parameterNames = request.getParameternames (); // while (parameTernames.hasmoreElements ()) {// String name = parameternames.nextElement (); // builder.append (name) // .Append (":") // .Append (Request.GetParameter (Name)) //Andend ("<" <Br/> "). os.write (builder.toString (). getBytes ("utf-8")); // 参数列表: 待转码的字符串, 字符编码 urlencoder.encode ("&", "utf-8"); URLDECODER.Decode ("%26", "UTF-8"); Builder.Append ("</body>"); Builder.Append ("</html>"); } Protected void dodget (httpServletRequest -Anforderung, httpServletResponse -Antwort) löst ServletException aus, ioException {dopost (request, Antwort); }}web.xml
<? xsi: scheMalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaeee/web-app_3_1.xsd" Version = "3.1"> <servlet> <servlet- <Servlet-Class> org.lulu.learn.TestServlet </Servlet-Class> </Servlet> <Servlet-Mapping> <servlet-name> testServlet </servlet-name> <URL-Muster>/test </urlpattern> </servlet-mapping> </web-apply> </web-apply>
感谢阅读 , 希望能帮助到大家 , 谢谢大家对本站的支持! 谢谢大家对本站的支持!