Java Web开拓中,最常用的便是在后台获取前台的参数,经典的案例便是 JSP 表单传值到后台的 Servlet,然后在 doGet 或者 doPost 中获取,这里把常用参数获取总结一下。

一个范例的jsp表单如下

<form action=\公众WorldServlet\公众 method=\"大众post\公众 enctype=\"大众multipart/form-data\"大众>

jsp如何获取后台数据想知道Java Web网站后台是若何获取我们提交的信息吗看这里 RESTful API

<!--普通文本框-->

用户名:<input type=\公众text\公众 name=\"大众username\公众/><br/>

密 码:<input type=\公众password\"大众 name=\"大众pwd\"大众/><br/>

<!--多选框-->

<input type=\"大众checkbox\公众 name=\"大众v1\"大众 value=\"大众西瓜\"大众>西瓜

<input type=\"大众checkbox\"大众 name=\"大众v1\"大众 value=\"大众苹果\"大众>苹果<br/>

<!--单选框-->

<input type=\"大众radio\"大众 name=\公众sex\"大众value=\公众男\公众/>男

<input type=\公众radio\公众 name=\"大众sex\"大众value=\"大众女\公众/>女<br/>

<!--隐蔽的用途是提交数据,同时不影响界面-->

<input type=\"大众hidden\"大众value=\公众123\"大众name=\公众sal\"大众/>

<!--选择列表-->

选择你的出生地:

<select name=\"大众bir\公众>

<option value=\公众\"大众>--请选择--</option>

<option value=\公众bj\"大众>北京</option>

<option value=\"大众sh\"大众>上海</option>

<option value=\公众cq\"大众>重庆</option>

</select>

<br/>

<!--文本域-->

请留言<br/>

<textarea cols=\"大众30\"大众 rows=\"大众10\公众 name=\公众liuyan\"大众></textarea><br/>

<!--文件上传-->

选择要上传的文件<br/>

请选择文件:<input type=\"大众file\公众 name=\"大众myfile\公众/><br/>

<input type=\公众submit\公众 value=\"大众登录\公众/> <input type=\公众reset\"大众 value=\"大众重新填写\"大众/><br/>

</form>

后台的Servlet获取用户提交的信息

//获取文本框的值

String username = request.getParameter(\"大众username\公众);

//获取多选框的值这里获取的是选中的多选框的value属性对应的值而不是页面显示的值

String[] fruit = request.getParameterValues(\"大众v1\"大众);

//获取单选框的值这里获取的是选中的单选框的value属性对应的值而不是页面显示的值

String sex = request.getParameter(\"大众sex\"大众);

//获取下拉列表的值这里获取的是选中的option的value属性对应的值而不是页面显示的值

String select = request.getParameter(\"大众bir\公众);

//获取文本域的值

String liuyan = request.getParameter(\"大众liuyan\"大众);

//文件上传

//首先要在Servlet上用 @MultipartConfig 标识支持文件上传

//存储路径 在 WebContent 下新建一个 fileupload 文件夹

String storePath = request.getServletContext().getRealPath(\"大众/fileupload\"大众);

//获取part工具 参数为name属性的值

Part part = request.getPart(\"大众myfile\公众);

//Servlet3没有供应直接获取文件名的方法,须要从要求头中解析出来

//获取要求头

String header = part.getHeader(\"大众content-disposition\"大众);

//获取文件名

String fileName = header.substring(header.lastIndexOf(\"大众=\公众) + 2, header.length() - 1);;

//把文件写到指定路径

part.write(storePath + File.separator + fileName);

//多文件上传

String storePath = request.getServletContext().getRealPath(\"大众/fileupload\"大众);

for (Part part : request.getParts())

{

if(\"大众myfile\公众.equals(part.getName()))

{

String header = part.getHeader(\"大众content-disposition\"大众);

String fileName = header.substring(header.lastIndexOf(\"大众=\公众) + 2, header.length() - 1);;

part.write(storePath+File.separator+fileName);}

}

}

//文件下载

String filepath = \"大众D://XXXX.jpg\"大众;

//办理中文下载文件名乱码

String filename = new String(\公众XXXX.jpg\"大众.getBytes(\"大众UTF-8\公众), \"大众ISO8859-1\"大众);

BufferedInputStream bi = new BufferedInputStream(new FileInputStream(new File(filepath)));

OutputStream os = response.getOutputStream();

//指定头部信息

response.setHeader(\公众Content-Disposition\"大众, \"大众attachment; filename=\\\"大众\"大众 + filename + \"大众\\\"大众\"大众);

//指定 setContentType 下载时会弹出对话框

response.setContentType(\公众application/x-msdownload\公众);

byte buffer[] = newbyte[1024];

int size;

while ((size = bi.read(buffer, 0, buffer.length)) != -1)

{

os.write(buffer, 0, size);

}

bi.close();

os.close();

总结

实在通过Servlet 3.0获取用户在表单的输入信息是比较随意马虎的,获取上传的文件也大略了很多。
动手试试吧,看好不好使。