Как вызвать сервлет со страницы JSP?
Возможный дубликат:
Вызов сервлета из файла JSP
Я использовал следующий код для вызова conn.java
(сервлет) из index.jsp
, Оно работает.
<%@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>
Но этот следующий код не работает. Я хочу позвонить NewServlet
от graphcon.jsp
,
<%@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
2 ответа
Сделайте ваш вопрос ясным. Сначала опишите, что вы хотите сделать, а затем опишите шаги, которые вы выполнили, чтобы выполнить то, что вы хотите сделать, а затем проблемы, возникающие с вашими шагами. Я предполагаю, что вы хотите перенаправить ваш запрос на один сервлет. Для этого используйте функцию sendredirect.
Если вы хотите вызвать сервлет из файла JSP, сделайте следующее:
В файле 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>