在.jsp页面或Servlet程序里,如何获取用户提交的信息?
时间: 2024-10-12 18:06:03 浏览: 1
在JSP页面或Servlet程序中,获取用户通过表单提交的信息通常涉及以下几个步骤:
1. **HTML表单**: 首先,创建一个HTML表单,使用`<form>`标签,并设置`method="post"`属性,以便将数据发送到服务器。例如:
```html
<form action="yourServlet" method="post">
<input type="text" name="username" />
<input type="submit" value="Submit"/>
</form>
```
2. **Servlet接收**: 当用户点击提交按钮时,表单的数据会通过HTTP POST请求发送到指定的Servlet。在Servlet (`YourServlet.java`) 中,你可以使用`request.getParameter()`方法来获取这些值:
```java
String username = request.getParameter("username");
```
3. **JSP页面**如果是在JSP中,可以利用`<jsp:useBean>`、`<jsp:getParam>`或`<c:param>`等标签配合后台JavaBean或Servlet来获取值。
4. **验证与处理**: 获取到信息后,别忘了对输入进行验证,然后根据需要进行处理,比如存入数据库或返回响应给前端。
相关问题
设计一个输入页面input.jsp(使用表单输入用户姓名,提交到OutPutServlet),一个Servlet程序 (OutPutServlet,获取表单里的用户姓名,转发到Welcome.jsp),一个输出显示页面 Welcome.jsp(获取Servlet程序转发过来的用户姓名,在页面中显示)。
以下是input.jsp页面的代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>用户姓名输入页面</title>
</head>
<body>
<form action="OutPutServlet" method="post">
<label for="name">请输入您的姓名:</label>
<input type="text" id="name" name="name">
<input type="submit" value="提交">
</form>
</body>
</html>
```
以下是OutPutServlet的代码:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/OutPutServlet")
public class OutPutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
request.setAttribute("name", name);
request.getRequestDispatcher("Welcome.jsp").forward(request, response);
}
}
```
以下是Welcome.jsp的代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>欢迎页面</title>
</head>
<body>
<h1>欢迎您,<%=request.getAttribute("name")%>!</h1>
</body>
</html>
```
在这个例子中,用户在input.jsp页面中输入姓名,并提交到OutPutServlet,OutPutServlet获取用户姓名并将其转发到Welcome.jsp页面,Welcome.jsp页面显示欢迎信息。
设计一个输入页面input.jsp(使用表单输入用户姓名,提交到OutPutServlet),一个servlet程序(OutPutServlet,获取表单里的用户姓名,转发到Welcome.jsp),一个输出显示页面Welcome.jsp(获取Servlet程序转发过来的用户姓名,在页面中显示)
input.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<title>Input Page</title>
</head>
<body>
<form action="OutPutServlet" method="post">
<label for="name">Enter your name:</label>
<input type="text" id="name" name="name"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
```
OutPutServlet.java:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class OutPutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
request.setAttribute("name", name);
request.getRequestDispatcher("Welcome.jsp").forward(request, response);
}
}
```
Welcome.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<title>Welcome Page</title>
</head>
<body>
<h2>Welcome <%=request.getAttribute("name")%>!</h2>
</body>
</html>
```
在web.xml中配置servlet和servlet-mapping:
```xml
<servlet>
<servlet-name>OutputServlet</servlet-name>
<servlet-class>OutPutServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>OutputServlet</servlet-name>
<url-pattern>/OutPutServlet</url-pattern>
</servlet-mapping>
```
以上代码实现了一个简单的输入页面,输入用户姓名后提交到OutPutServlet,OutPutServlet将用户姓名存储在request中并转发到Welcome.jsp,在Welcome.jsp中显示欢迎信息。