栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 在页面加载时从JSP文件调用servlet

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 在页面加载时从JSP文件调用servlet

你可以使用doGet()servlet 的方法来预处理请求并将请求转发到JSP。然后只需在链接和浏览器地址栏中指向servlet URL而不是JSP URL。

例如

@WebServlet("/products")public class ProductsServlet extends HttpServlet {    @EJB    private ProductService productService;    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        List<Product> products = productService.list();        request.setAttribute("products", products);        request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);    }}<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>...<table>    <c:forEach items="${products}" var="product">        <tr> <td>${product.name}</td> <td>${product.description}</td> <td>${product.price}</td>        </tr>    </c:forEach></table>

请注意,JSP文件放置在/WEB-INF文件夹内,以防止用户无需调用servlet即可直接访问它。

还要注意,该

@WebServlet
功能仅在Servlet 3.0(Tomcat 7等)之后可用,另请参阅Tomcat 7的
@WebServlet
批注。如果你无法升级,或者由于某种原因需要使用
web.xml
Servlet 3.0
不兼容的,那么你需要
web.xml
按以下所示的旧方式手动注册
Servlet
,而不要使用批注:

<servlet>    <servlet-name>productsServlet</servlet-name>    <servlet-class>com.example.ProductsServlet</servlet-class></servlet><servlet-mapping>    <servlet-name>productsServlet</servlet-name>    <url-pattern>/products</url-pattern></servlet-mapping>

通过注解或XML正确注册servlet之后,现在你可以通过http:// localhost:8080 / context / products打开该文件,其中

/contextwebapp
的部署上下文路径
/products
servlet
的URL模式。如果你恰好在其中包含任何
HTML <form>
,则只需像这样
<form method="post">
将其POST到当前URL,然后将其添加
doPost()
到相同的
servlet
中即可执行后处理工作。继续下面的链接以获取更具体的示例。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/456494.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号