Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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
Javascript 如何使HTML链接调用成为servlet中的java函数 公共类测试扩展了HttpServlet{ 私有静态最终长serialVersionUID=1L; 公开考试(){ 超级(); } 受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{ PrintWriter out=response.getWriter(); out.println(“电影数据库”); out.println(“电影数据库”); out.println(“”); } 单击时出现公共无效() { System.out.println(“你好”); } }_Javascript_Html_Jsp_Hyperlink - Fatal编程技术网

Javascript 如何使HTML链接调用成为servlet中的java函数 公共类测试扩展了HttpServlet{ 私有静态最终长serialVersionUID=1L; 公开考试(){ 超级(); } 受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{ PrintWriter out=response.getWriter(); out.println(“电影数据库”); out.println(“电影数据库”); out.println(“”); } 单击时出现公共无效() { System.out.println(“你好”); } }

Javascript 如何使HTML链接调用成为servlet中的java函数 公共类测试扩展了HttpServlet{ 私有静态最终长serialVersionUID=1L; 公开考试(){ 超级(); } 受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{ PrintWriter out=response.getWriter(); out.println(“电影数据库”); out.println(“电影数据库”); out.println(“”); } 单击时出现公共无效() { System.out.println(“你好”); } },javascript,html,jsp,hyperlink,Javascript,Html,Jsp,Hyperlink,我只想让我页面上的HTML链接调用我的java函数,单击()有什么好方法呢?单击onclick没有。是的。它与Java完全不同。它们唯一的共同点是语言名称的前4个字符、一些关键字和一些语法。但就是这样 只需让链接指向与servlet映射的URL模式匹配的URL即可。假设您已将servlet映射到URL模式/foo/*,然后使用 public class Test extends HttpServlet { private static final long serialVersionUID =

我只想让我页面上的HTML链接调用我的java函数,单击()有什么好方法呢?

单击
onclick
没有。是的。它与Java完全不同。它们唯一的共同点是语言名称的前4个字符、一些关键字和一些语法。但就是这样

只需让链接指向与servlet映射的URL模式匹配的URL即可。假设您已将servlet映射到URL模式
/foo/*
,然后使用

public class Test extends HttpServlet {
private static final long serialVersionUID = 1L;

public Test() {
    super();
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();

    out.println("<HTML><HEAD><TITLE>MovieDB</TITLE></HEAD>");
    out.println("<BODY><H1>MovieDB</H1>");

    out.println("<a href = '#' onclick = 'on_Click();'> Call Function </a>");

}

public void on_Click()
{
    System.out.println("HELLO");
}
}
如果您想对多个操作重用同一个servlet,只需传递一些操作标识符作为请求参数

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("Hello");
}
或者作为路径信息

String action = request.getParameter("action"); // "bar"
不需要奇怪的JavaScript方法/变通方法

另见:


与具体问题无关,HTML属于Servlet,而不是Servlet。

Servlet在您的服务器上运行,而HTML在用户的计算机上运行,因此您需要使用javascript/ajax向服务器发送请求以执行点击功能

非常感谢这真的帮了我的忙!
<a href="foo?action=bar">Call function</a>
String action = request.getParameter("action"); // "bar"
<a href="foo/bar">Call function</a>
String action = request.getPathInfo().substring(1); // "bar"