如何从JSP页面调用servlet?

问题描述:

可能重复:
Calling a servlet from JSP file如何从JSP页面调用servlet?

我已经使用下面的代码来从index.jsp调用conn.java(servlet的)。有用。

<%@page import= "java.util.ArrayList"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ page import= "aa.conn" %> 
<jsp:useBean id= "conne" class= "conn" scope= "session"/> 
<jsp:setProperty name= "conne" property= "*"/> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP</title> 

    </head> 
    <body> 
     <link rel="stylesheet" href="rowcolor.css" type="text/css"> 
     <% 

     conne.con(request, response); 
    ArrayList newlist=null; 
    newlist=(ArrayList)request.getAttribute("data1"); 
    int noofrows=(Integer)newlist.get(0); 
    int q = noofrows/5; 
    if(noofrows%5!=0) 
     q+=1; 
    out.println("Pages --->>>"); 
     for (int t = 1; t <= q; t++) { 
      out.println("<a href=index.jsp?id=" + t + " name=" + t + "id=" + t + ">"); 
      out.println(" " + t); 
      out.println("</a>"); 
     } 
    conne.disp(request, response); 
    conne.dispgraphtab(request, response); 
     %> 




    </body> 
</html> 

但是,下面的代码不起作用。我想从graphcon.jsp拨打NewServlet

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ page import= "aa.NewServlet" %> 
<jsp:useBean id= "co" class= "NewServlet" scope= "session"/> 
<jsp:setProperty name= "co" property= "*"/> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 

    </body> 
</html> 

这段代码有什么问题?错误是:

exception 
javax.servlet.ServletException: java.lang.InstantiationException: NewServlet 
root cause 
java.lang.InstantiationException: NewServlet 
+0

JSP页 faree 2010-12-01 06:27:24
+0

现在 - 你已经使用的代码示例和问题陈述似乎是完全不相适应的,你可以花一些时间来进行格式化。 – anirvan 2010-12-01 06:29:46

请清除您的问题。首先描述你想要做什么,然后描述你完成你想要做的事情以及随着步骤发生的问题所遵循的步骤。我想你想要的是将你的请求重定向到一个servlet。要做到这一点,使用sendredirect函数。

如果你想从JSP文件中调用Servlet的那么做到这一点:

在JSP文件

<html> 
    <head></head> 
    <body> 
     <form action="/dataBase/DBInit" method="post"> // here call Servlet 
      Design 
     </form> 
     <%  Logic   %> 
    </body> 
</html> 

在web.xml

<servlet> 
    <servlet-name>dbname</servlet-name> 
    <servlet-class>com.db.DBInit</servlet-class>  // Servlet Path Define Here 
</servlet> 
<servlet-mapping> 
    <servlet-name>dbname</servlet-name> 
    <url-pattern>/DBInit</url-pattern> 
</servlet-mapping>