Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击链接执行Servlet_Java_Jsp_Servlets - Fatal编程技术网

Java 单击链接执行Servlet

Java 单击链接执行Servlet,java,jsp,servlets,Java,Jsp,Servlets,我有一个页面,其中有下拉框和文本区。 下拉框中填充了从DB获取的值。 我知道如何使用scriplets,但我想严格使用servlet解决方案。 问题是我知道如何使用它们,例如,当您单击表单中的某个底部时。 但是如果我有一个带有链接的菜单,我不知道该怎么办。 那是GET请求吗?我的链接只是http://localhost:8080/TestPage/functionNamesRegister.jsp从那里,我直接跳进了那个表单的页面。 我应该添加注释@WebServlet(“functionNam

我有一个页面,其中有下拉框和文本区。 下拉框中填充了从DB获取的值。
我知道如何使用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,请执行以下步骤:

  • 在web.xml中定义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>