我对servlet/jsp/html
有疑问。我有一个标签菜单:
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#list">LIST OF PRODUCTS</a></li>
<li><a data-toggle="pill" href="#add">ADD PRODUCT</a></li>
</ul>
<div class="tab-content">
<div id="list" class="tab-pane fade in active">
<h3>LIST OF PRODUCTS</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
<div id="add" class="tab-pane fade">
<h3>ADD PRODUCT</h3>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
&#13;
当我按下标签并因此在servlet
中调用jsp而不是:
tab-content
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
我的servlet
代码:
@WebServlet(name = "NewServlet", urlPatterns = {"/NewServlet"})
public class NewServlet extends HttpServlet {
@EJB
private BDBeanLocal bDBean;
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ArrayList<Products> list = new ArrayList<Products>();
list = bDBean.listaProdotti();
request.setAttribute("lista", list);
String arg = "/" + this.getServletName() + ".jsp";
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher(arg);
dispatcher.forward(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
这是我的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet>
<servlet-name>NewServlet</servlet-name>
<servlet-class>servlet.NewServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>servlet.loginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NewServlet</servlet-name>
<url-pattern>/NewServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
答案 0 :(得分:1)
使超链接具有您在web.xml
文件中定义的servlet映射的URL。
servlet-mapping
元素定义了servlet和URL模式之间的映射。下面的示例将名为myservlet的servlet映射到以/foo
开头的任何URL:
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>com.foo.examples.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/anything/*</url-pattern>
</servlet-mapping>
对于此示例,诸如<a href="/anything/test.html">Click Me</a>
之类的超链接将调用servlet。
url-pattern
您说/anything
之后的每个请求都应由 myservlet Servlet
处理。之后,您在servlet
Servlet
中定义的内容(test.html)将{strong}发送请求发送至URL pattern
。
<强> ----------- 强>
调用servlet的另一种方法是使用参数。
myservlet
我希望这会对你有所帮助。