Java Doget, Dopost 方法和文件上传
index.html
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <itement> title </iteme> </head> <body> <form Action = "/test" Method = "POST" ENCTYPE = "Multipart/Form-Data"> <Table> <TR> <TD> <TD> </"TEPT" TD "> <TABLE> <TR> <TD> <TD> </</TD" TD "> <TABLE> <TR> <TD> <TD> 用户名 用户名 用户名 用户名 用户名 用户名 用户名" </td> <tr> <td> 密 码: </td> <td colspan = "2"> <input name = "password" type = "password"> </td> </tr> TR align = "center"> </td> <input name = "type" type = "submit" value "value =" 登陆 ">" "" TD "typ =" Type = "Type =" TYP = "TYD" TYD "TYD =" 登陆 "> 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 = "unggah" type = "file"> </td> </tr> </able> </form> </body> </html>
Testservlet.java
impor org.apache.commons.fileupload.fileItem; import org.apache.commons.fileupload.fileuploadeException; import org.apache.commons.fileupload.disk.diskfileitemfactory; impor org.apache.commons.fileuploadservoadservead; javax.servlet.servletException; import javax.servlet.servletinputStream; import javax.servlet.servletoutputStream; import javax.servlet.annotation.webservlet; impor javax.servlet.htp.httpservlet; impor javax. javax.servlet.http.httpservletResponse; impor java.io.bytearrayoutputStream; impor java.io.file; impor java.io.ioException; impor java.net.urldecoder; impor java.net.urlencoder; impor java.uRlecoder; Java.net.urlencoder; impor java. Proyek: Day15_Web * Dibuat: Lulu * Tanggal: 2016/8/16 */@WebServlet (name = "TestServer") TestServer kelas publik memperluas httpservlet {file private root_upload; public testServer () {root_upload = file baru ("c:/temp"); if (! root_upload.exists ()) {root_upload.mkdirs (); }} // 两种链接方式 dopost doget void dopost (permintaan httpservletrequest, respons httpservletResponse) melempar servletException, ioException {response.setcharacterencoding ("UTF-8"); request.setcharacterencoding ("UTF-8"); ServETOutputStream 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 = name.nextElement (); builder.append (name) .Append (":") .Append (request.getheader (name)) .Append ("<br>"); } DiskFileItemFactory factory = DiskFileItemFactory baru (); factory.setsizethreshold (10); // 设置未保存在临时路径的最大值 factory.setrepository (file baru ("c:/temp/temp")); // 超过上述最大值后保存的临时路径 servletfileupload unggah = servletfileUpload baru (pabrik); coba {list <fileitem> list = unggah.parsequest (request); // 上传的文件列表 for (fileitem item: list) {builder.append (item.getFieldName ()) .append (":") .append (item.isformfield ()? item.getString (): item.getName ()//判断是不是属性 判断是不是属性 判断是不是属性 判断是不是属性 判断是不是属性 判断是不是属性 判断是不是属性 判断是不是属性 判断是不是属性if (! item.isFormField ()) {file file = file baru (root_upload, item.getName ()); builder.append (file.getAbsolutePath ()). append ("<br>"); item.write (file); }}} catch (fileuploadException e) {e.printstacktrace (); } catch (Exception e) {E.PrintStackTrace (); } // 可以从输入流中读取数据 // servletInputStream adalah = request.getInputStream (); // byte [] buffer = byte baru [8192]; // int len; // bytearrayoututputStream bos = bytearrayoutstream (); // while ((len = is.read (BuFer) ( -); len); //} // builder.append ("inputStream:") // .append (bos.tostring ("utf-8")) // .append ("<br>"); // builder.append ("<h1> post 的请求参数 </h1>"). request.getParameternames (); // while (parameterNames.hasmoreElements ()) {// string name = parameterNames.NextElement (); // builder.append (name) // .append (":") // .append (request.getParameter (name))/. os.write (builder.tostring (). getBytes ("UTF-8")); // 参数列表: 待转码的字符串, 字符编码 urlencoder.encode ("&", "UTF-8"); Urldecoder.decode ("%26", "UTF-8"); builder.append ("</body>"); builder.append ("</html>"); } Protected void doGet (permintaan httpservletRequest, respons httpservletResponse) melempar servletException, ioException {dopost (permintaan, respons); }}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 =" http:/www.w3.org/2001 = "http:/www.w3.org/2001 XSI: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" Version = "3.1"> <levlet> <play> <aP_3_1.xsd "version =" 3.1> <perblet> <perblet> <perblet> <aP_3_1.xsd "Version> <3.1> <servlet-class> org.lulu.learn.testservlet </servlet-class> </servlet> <servlet-mapping> <servlet-name> testservlet </servlet-name> <ritl-pola>/test </rerl-pattern> </servlet-Mapping> </web-app> app>
感谢阅读 , 希望能帮助到大家 , 谢谢大家对本站的支持!