添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

与ASP相比:JSP有两大优势。首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。第二点就是JSP易于移植到非MS平台上。

与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。

与SSI相比:SSI无法使用表单数据、无法进行数据库链接。

与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。

与静态HTML相比:静态HTML不包含动态信息。

JSP 与 servlet

JSP 最后会被编译成为 servlet。

MyJSP.jsp=> MyJSP_jsp.java=> MyJSP_jsp.class=>MyJSP_jsp Servlet

之所以需要 jsp,是因为我们不想在 servlet 中写太多的 html 相关的代码。

jsp 中我们可以使用 java 的语法,结合 html。

hello.jsp

此文件放在 webapp 根目录下。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <title>Title</title>
</head>
        out.println("Hello World!");
</body>
</html>

浏览器打开 http://localhost:8081/hello.jsp

页面内容为:

Hello World!

servlet 转发

当然我们也可以使用 servlet 转发到此 jsp 页面。

  • JspServlet.java
  • @WebServlet("/jsp")
    public class JspServlet extends HttpServlet {
        private static final long serialVersionUID = -2288088652547508947L;
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.getRequestDispatcher("/hello.jsp").forward(req, resp);
    
    resp.sendRedirect("/hello.jsp");
    

    浏览器访问 http://localhost:8081/jsp 即可跳转到 hello.jsp

    避免直接访问

    jsp 文件放在 WEB-INF 文件夹下面,此时只能通过 servlet 页面跳转到指定页面。

    实际使用中不建议使用 jsp。

    可以使用 Freemarker 或者 Velocity

    https://www.oracle.com/technetwork/java/index-jsp-138231.html

    https://www.tutorialspoint.com/jsp/

    http://www.runoob.com/jsp/jsp-tutorial.html

    https://www.cnblogs.com/cyy-13/p/5733034.html

  • JSP 与 servlet
  • hello.jsp
  • servlet 转发
  • 避免直接访问
  •