可能原因:
1: form表单中的控件没有定义name属性
2: form表单中的控件被设置成disabled
3: form表单的enctype="multipart/form-data"是一种用于上传文件的表单
解决方法:
对于第三种情况我们直接request.getParameter来取参数值是取不到的
我们可以借用apache的上传组件来解决
用到jar包commons-fileupload-1.1.1.jar
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
*获取各种类型表单的表单参数
*@paramrequest HttpServletRequest请求对像
* @paramparamName 参数名
*@return
*@throwsFileUploadException
*/
publicstatic String getParameterValue(HttpServletRequest request,String paramName) throws FileUploadException{
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart==true){
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List fileItemList = upload.parseRequest(request);
if(fileItemList!=null){
for(Iterator itr=fileItemList.iterator();itr.hasNext();){
FileItem fileItem = (FileItem)itr.next();
if(fileItem.getFieldName().equalsIgnoreCase(paramName)){
return new String(fileItem.getString().getBytes("ISO8859-1"))//中文转码
}
}
}
}else{
return new String(request.getParameter(paramName).getBytes("ISO8859-1"))//中文转码
}
return"";
}
分享到:
相关推荐
在Web开发中,当用户填写表单并提交时,表单中的数据会以参数的形式被发送到服务器端,此时`request.getParameter()`就派上了用场。该方法返回的是字符串类型,如果请求参数不存在,则返回`null`。 例如,在HTML...
在Web开发中,获取客户端传递给服务器的数据是一种常见需求,通常使用`request.getParameter()`方法从`HttpServletRequest`对象中获取表单数据或者URL参数。然而,在实际应用中,开发者有时会遇到`request....
`request.getParameterMap()`、`request.getParameter()`和`request.getParameterValues()`是三个重要的方法,它们分别用于获取不同类型的请求参数。接下来,我们将深入探讨这三个方法的功能、用法以及它们之间的...
request.getRequestDispatcher("/admin/register.jsp").forward(request,response); return; } //2.调用业务层完成注册操作并返回结果 User user = new User(userId,realName,pwd,age, Arrays.toString...
在Java Servlet和JSP开发中,`HttpServletRequest`接口提供了两种主要的方法来获取客户端发送到服务器的数据:`getAttribute()`和`getParameter()`。它们虽然都用于获取请求中的数据,但有着本质的区别,下面将详细...
1. **request.getParameter()**:这个方法用于获取客户端(通常是HTML表单)通过HTTP请求(GET或POST)传递到服务器端的参数。这些参数通常以键值对的形式出现在URL(GET)或请求体(POST)中。例如,当用户在表单中...
在JSP中,表单提交的数据可以通过请求参数获取。对于`GET`请求,参数会显示在URL后面;对于`POST`请求,参数则包含在请求体中。使用`request.getParameter()`方法可以获取用户提交的表单数据,例如: ```jsp String...
首先,`request`对象通过`getParameter()`方法可以获取URL参数。假设你的JSP页面接收了一个名为`username`的参数,你可以如下所示获取它: ```jsp String username = request.getParameter("username"); ``` 如果`...
通过这种方式和一般的表单参数一样的,也可以通过request.getParameter(name)取得参数。 3. 设置session和request实现参数传递 可以通过显示的把参数放置到session和request中,以达到传递参数的目的: session....
使用`request.getParameter()`方法可以获取这些参数的值。例如,如果有一个名为"username"的表单字段,可以通过`request.getParameter("username")`来获取用户输入的用户名。返回的是一个String类型,如果参数不存在...
`request.getParameter()`, `session.getAttribute()`, 和 `application.getAttribute()` 分别用于从请求、会话和应用范围获取参数。 4. **Cookie操作**:在`jsp源码实例4(cookie).txt`中,我们可以学习到如何使用...
如果直接打开`requestdemo1.jsp`而不通过`input.html`提交表单,则`request.getParameter`将返回`null`,因为没有表单数据可供获取。 为了增强程序的健壮性,避免因空对象引发`NullPointerException`,我们在处理...
在JSP页面中获取这些参数可以使用 `request.getParameter()` 方法: ```jsp String action = request.getParameter("action"); String detail = request.getParameter("detail"); ``` #### 三、使用`<jsp:param>`...
例如,在表单中可以使用request.getParameter()方法获取表单数据,並将其传递给服务器端。在服务器端,可以使用request.setCharacterEncoding()方法设置字符编码,以避免中文乱码的问题。 四、request对象的其他...
Java Web 学习之 Request 对象中 GET 和 POST 的差异 摘要:本文将对 Java Web 中 Request 对象中 GET 和 ...同时,我们应该注意到 servlet 作为控制器是不应该输出内容的,我们应该把要打印的内容放到 JSP 文件中。
JSP获取表单数据的方法:\n\n - 使用request对象:在JSP中,HttpServletRequest对象可以获取客户端发送的所有请求数据,包括表单数据。例如,对于一个名为"user"的文本框,我们可以通过request.getParameter("user...
- **单选按钮/下拉列表**:通过 `request.getParameter()` 获取选中的值,如果有多个选项,可能需要遍历 `request.getParameterValues()`。 - **复选框**:复选框可能有多个选项被选中,所以通常使用 `request....
在文件上传完成后,我们不能像平常那样使用`request.getParameter`来获取非文件字段的值。`JSPSmartUpload`提供了一个替代的方法来获取这些参数。你需要使用`mySmartUpload.getRequest().getParameter`来获取这些值...
在主页面的表单中,用户输入的值被提交到2.jsp,然后`request.getParameter("gr1")`、`request.getParameter("gr2")`和`request.getParameter("gr3")`分别获取对应字段的值并显示。 - **getParameterNames()**: ...
在`register.jsp`中,使用`request.getParameter()`获取表单数据,然后通过JDBC操作数据库。确保先执行`PreparedStatement`的`setString()`方法设置参数,再执行`executeUpdate()`插入数据,以防止SQL注入攻击: `...