Java 单击链接执行Servlet
我有一个页面,其中有下拉框和文本区。 下拉框中填充了从DB获取的值。Java 单击链接执行Servlet,java,jsp,servlets,Java,Jsp,Servlets,我有一个页面,其中有下拉框和文本区。 下拉框中填充了从DB获取的值。 我知道如何使用scriplets,但我想严格使用servlet解决方案。 问题是我知道如何使用它们,例如,当您单击表单中的某个底部时。 但是如果我有一个带有链接的菜单,我不知道该怎么办。 那是GET请求吗?我的链接只是http://localhost:8080/TestPage/functionNamesRegister.jsp从那里,我直接跳进了那个表单的页面。 我应该添加注释@WebServlet(“functionNam
我知道如何使用scriplets,但我想严格使用servlet解决方案。
问题是我知道如何使用它们,例如,当您单击表单中的某个底部时。
但是如果我有一个带有链接的菜单,我不知道该怎么办。 那是GET请求吗?
我的链接只是
http://localhost:8080/TestPage/functionNamesRegister.jsp
从那里,我直接跳进了那个表单的页面。 我应该添加注释
@WebServlet(“functionNamesRegister”)
然后创建一个具有该名称的servlet吗? 这是菜单中的代码 我对servlets非常陌生,我知道当我有以下内容时如何执行它们:
我非常感谢你们的帮助。实现如下示例所示
Implement just like below example
web.xml
<servlet>
<description>All XML Functions</description>
<display-name>XMLTestServlets</display-name>
<servlet-name>XMLTestServlets</servlet-name> <servlet-class>com.test.testProjects.XMLTestServlets</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XMLTestServlets</servlet-name>
<url-pattern>/XMLTestServlets</url-pattern>
</servlet-mapping>
in JSP:
<a href="<%=request.getContextPath()%>/XMLTestServlets">Link Name</a>
just try this...
web.xml
所有XML函数
XMLTestServlets
XMLTestServlets com.test.testProjects.XMLTestServlets
XMLTestServlets
/XMLTestServlets
在JSP中:
试试这个。。。
如果我理解您的意思,那么您希望通过单击链接执行Servlet,请执行以下步骤:
WebServlet
注释
s1
packagename.className
s1
/yourUrl
jsp
中有一个链接
或
您应该调用
Servlet
,而不是直接调用JSP页面。在servlet中编写代码,从数据库中加载下拉列表数据,并将该数据设置为请求属性,然后将请求转发到JSP页面 下面是servlet的示例:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String input = "Send this value to JSP";
request.setAttribute("servlet_value",input);
RequestDispatcher rd = request.getRequestDispatcher("display.jsp");
rd.forward(request, response);
}
在上面的代码中,使用函数request.setAttribute()
传递请求属性中的值。您可以传递其中的任何对象。之后,使用and函数将请求转发到JSP页面。它将重定向到参数中给出的JSP页面。在JSP端,您需要使用或使用EL()来读取该属性 示例JSP代码:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP Demo</title>
</head>
<body>
The values from the servlet (ServletValues) is,
<br>
<br>
${servlet_value}
<!-- servlet_value is set in the ServletValues servlet. -->
</body>
</html>
JSP演示
servlet中的值(ServletValues)为,
${servlet_值}
您可以从列表或映射中的servlet存储中的数据库读取数据,使用setAttribute
传递数据,使用
JSTL`读取映射或列表 测试它,我给你一个大喊,它是如何变成现实的,是不是?我有所有servlet的映射,我只想从DB中预加载一些数据,并在您单击该链接时在屏幕上打印出来。但是我不想有这样的链接:printdb?action=print
只是printdb.jsp
或者类似的东西。那么,您可以做的是让servlet连接到数据库,检索数据,将数据存储在某个集合对象中,并将其设置为响应,然后将其传递给jsp,从请求中检索集合并打印我知道这一点,但我想在有人点击linkyep man时自动执行,它只会从servlet sendRedirect自动执行到JSPy。当您的jsp文件在浏览器中加载而不使用scriptlet时,您需要获取下拉数据吗?是的,我想做的事情请参见下面的答案。愿这对你有帮助。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP Demo</title>
</head>
<body>
The values from the servlet (ServletValues) is,
<br>
<br>
${servlet_value}
<!-- servlet_value is set in the ServletValues servlet. -->
</body>
</html>