Java Web
使用 Java 开发语言完成 Web 后端的项目开发
基于 Web 的应用:网站、APP、小程序
Java 不是做前端的,做后端
Tomcat、Servlet
Tomcat 的作用让 Java Web 程序可以正常运行,被浏览器访问
浏览器默认不能访问电脑上的资源,安全性考虑
Tomcat 是一个服务,当 Tomcat 服务启动之后,浏览器允许直接访问 Tomcat 中的资源的
开发 Java Web
1、写代码
2、把代码放到 Tomcat 中,运行 Tomcat
3、通过浏览器访问代码,配置 url 映射 Java 代码
Servlet 是 JDK 提供的一个接口,专门面向 Web 开发的接口,浏览器直接调用 Java 程序,
让 Java 程序具备被网络请求访问的能力,以及做出网络响应的能力
实现对应的接口即可 Servlet
Servlet 是 Java Web 的基础,组件、框架,底层都是 Servlet
请求 响应
ServletRequest
ServletResponse
网页
web 前端
html + css + js
不能直接通过 Servlet 拼接返回 HTML 代码,因为很繁琐、出错率高、不容易维护
如何解决?通过哪个组件来解决
JSP
JSP 是一个模板,可以在 Java 端通过模板来直接编写 HTML 代码,开发者开发起来就很方便
JSP 会自动生成一个 Servlet,自动将 HTML 填充到 write 方法中
html
<html>
<head>
<title>$Title$</title>
</head>
<body>
<h1>123</h1>
</body>
</html>
java
response.getWriter().write("<html>\n" +
" <head>\n" +
" <title>$Title$</title>\n" +
" </head>\n" +
" <body>\n" +
" <h1>123</h1>\n" +
" </body>\n" +
"</html>");
当需要通过 Java 后端给浏览器返回页面的时候,可以直接访问 JSP,JSP 自动转成 Servlet
Servlet + JSP
为什么还要使用 Servlet,而不直接使用 JSP?
网页 + 数据(数据库 + 业务)
JSP 只能生成网页
数据通过 Servlet 来创建的
Servlet + JSP
数据 + 图形界面
先访问 Servlet,由 Servlet 自动跳转到 JSP,从而实现数据在页面中的加载
而不能直接访问 JSP,否则看不到数据,只能看到页面
${user.id}
${} EL 表达式,从 request 中获取数据
${user.id} ---> user.getId()