Ну, это было давно, так как этот вопрос был задан.Однако я считаю, что это обязательный ответ.
Начните с HTML-формы, чтобы собрать данные, как показано ниже (я использовал только имя пользователя и адрес электронной почты)
<HTML>
<BODY>
<FORM METHOD=POST ACTION="process.jsp">
Name <INPUT TYPE=TEXT NAME=Name SIZE=20><BR>
Email <INPUT TYPE=TEXT NAME=email SIZE=20><BR>
<P><INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
Чтобы собрать эти данные вbean создайте класс, например MyData, как показано
package datapackage;
public class MyData{
String name;
String email;
public void setName( String value )
{
name = value;
}
public void setEmail( String value )
{
email = value;
}
public String getName() { return name; }
public String getEmail() { return email; }
}
Убедитесь, что он скомпилирован и доступен для среды вашего приложения
Затем создайте JSP-страницу process.jsp для получения этих данных
<jsp:useBean id="data" class="datapackage.MyData" scope="session"/>
<jsp:setProperty name="data" property="*"/>
<HTML>
<BODY>
You can output the data here too with e.g. <%= data.getName() %> but that was not your question
</BODY>
</HTML>
На данный момент у вас есть объект в сеансе (может быть в области страницы, приложения и области запроса, если вы установите параметр области на странице jsp для любого из них).Любой сервлет, который вызывается, пока у пользователя есть действительный сеанс после заполнения формы, может получить доступ к объекту из сеанса следующим образом:
package datapackage;
import java.io.IOException;
import javax.servlet.http.*;
public class SalesServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
HttpSession session = request.getSession();
MyData d = (MyData)session.getAttribute("data"); //data is the variable name set in the JSP page
}
}
Я полагаю, что это общий поток, показывающий, как выможет получить доступ к данным Java Bean из сервлета.