servlet获取表单数据的方法?

2025-02-21 18:41:16
推荐回答(5个)
回答1:

(1)
是的。Servlet读取表单数据只能用一下三种方法。

单个值的读取:getParameter
多个值得读取:getParameterValues
参数名的查找:getParameterNames和getParameterMap
(2)
当前,在JSP中,使用JavaBean组件构架可以极大的简化读取请求参数,提取相应的值,并将结果存储到java对象的过程。存在这样的JSP语法(jsp:setProperty 调用 property= "*"),可以用来一举完成bean的填写工作。
按理说JSP能完成的工作Servlet也应该同样可以做到。毕竟,JSP的本质就是Servlet,每个JSP页面都要转换成Servlet,在请求期间运行的也是Servlet。但令人不可思议的是,Servlet规范却没有提供这样的功能:完成Property="*" 这一JSP过程的代码并没有一个标准的API暴露出来。
幸运的是,Apache软件基金会的Jakara通用包,得到广泛的应用,他提供的类是我们可以更容易的构建自动将请求参数和Bean属性关联起来的实用程序。
即:BeanUtilities.populateBean
关于Jakarta通用包的下载可以去Apache的官网。

回答2:

不可以,使用spring mvc 解决该问题,可以!!

onsubmit="return checkForm()">



Username:





Password:




Role:






${addMsg }





@RequestMapping(params="action=addUser")
public String addUser(HttpServletRequest request,
HttpServletResponse response,
@ModelAttribute("template") String template,Cuser cuser,ModelMap map){

if(cuserdao.addCuser(cuser)){
map.addAttribute("addMsg","User added successfully ");
}else{
map.addAttribute("addMsg","Add information failed");
}

return UrlDispatcher.getDispatchUrl(template, "adduser");
}

建议,学好spring,因为很强。----->

回答3:

工程名:ServletStudy
表单文件:login.jsp
Servlet文件:LoginServlet.java
配置文件:web.xml
下面对是这几个文件的代码:
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>




My JSP 'login.jsp' starting page








userName:

password:





LoginServlet.java
package com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class LoginServlet extends HttpServlet
{

回答4:

可以啊 就是一个Servlet过滤器,bean实现过滤器接口然后配置到web.xml中就可以了
这有个介绍的文章可以参考
http://topinking.javaeye.com/blog/401610

回答5:

工程名:ServletStudy
表单文件:login.jsp
Servlet文件:LoginServlet.java
配置文件:web.xml
下面对是这几个文件的代码:
login.jsp
<%@
page
language="java"
import="java.util.*"
pageEncoding="UTF-8"%>
<%
String
path
=
request.getContextPath();
String
basePath
=
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
HTML
PUBLIC
"-//W3C//DTD
HTML
4.01
Transitional//EN">


href="<%=basePath%>">
My<br>JSP<br>'login.jsp'<br>starting<br>page
http-equiv="pragma"
content="no-cache">
http-equiv="cache-control"
content="no-cache">
http-equiv="expires"
content="0">
http-equiv="keywords"
content="keyword1,keyword2,keyword3">
http-equiv="description"
content="This
is
my
page">


action="/ServletStudy/LoginServlet">
userName:
name="userName"
type="text"/>

password:
name="password"
type="password"/>

type="submit"value="submit"/>
type="reset"value="reset"/>



LoginServlet.java
package
com;
import
java.io.IOException;
import
java.io.PrintWriter;
import
javax.servlet.ServletException;
import
javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public
class
LoginServlet
extends
HttpServlet
{