Java Web整体梳理-2
程序员文章站
2022-05-05 11:41:21
...
JSP的简单演示
用servlet生成一个简单的网页:
package com.skyline;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDateTime;
public class MyFirstServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().write("<html>");
response.getWriter().write("<body>");
response.getWriter().write("<h2>");
response.getWriter().write(LocalDateTime.now().toString());
response.getWriter().write("</h2>");
response.getWriter().write("</body>");
response.getWriter().write("</html>");
}
}
该段代码使用了HttpServlet,这是一个较高级的封装类。可以看到,直接使用 Servlet 生成网页,不仅代码写起来困难,可维护性也不高。为了把 HTML 这些非逻辑的部分抽离出来,人们引入了 JSP 技术。
JSP,全称 JavaServer Pages。可以把 JSP 理解成一种高度抽象的 Servlet。事实上 JSP 在运行期间会被编译成 Servlet,因此 JSP 和 Servlet 可以认为没有本质上的差异,只不过写起来容易了很多。
现在流行的 Web 服务架构往往采用前后端分离的设计,JSP 这种使用后端模板的技术也逐渐被淘汰了。
前面提到的 Tomcat 不仅支持了 Servlet,也支持了 JSP 技术。下面使用 JSP 重写上面的程序。
<%@ page import="java.time.LocalDateTime" %>
<html>
<body>
<h2>
<%
out.write(LocalDateTime.now().toString());
%>
</h2>
</body>
</html>
Servlet的简单演示
package com.skyline;
import javax.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
public class MyFirstServlet implements Servlet {
public void init(ServletConfig config) throws ServletException {
System.out.println("Init");
}
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
System.out.println("From service");
PrintWriter out = response.getWriter();
out.println("Hello, Java Web.");
}
public void destroy() {
System.out.println("Destroy");
}
public String getServletInfo() {
return null;
}
public ServletConfig getServletConfig() {
return null;
}
}
下面是web.xml的代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>MyFirstServletName</servlet-name>
<servlet-class>com.skyline.MyFirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyFirstServletName</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
可以看到 web.xml 的作用是告诉 Tomcat,我们想使用哪个 Servlet 来处理对应的请求。Tomcat 通过 web.xml 找到对应的 Servlet 完成请求以及响应过程
下面是运行截图,在浏览器地址栏中输入localhost:8080/项目名称/hello
即可
下一篇: JavaWeb的文件上传与下载
推荐阅读
-
Java Web层框架比较—— 比较JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket
-
CSS重要知识概述——Java Web从入门到精通第2章
-
Java Web整体梳理-4
-
基于axis2开发授权web service webaxis2java
-
基于axis2开发授权web service webaxis2java
-
Java Web整体梳理-3
-
Java Web整体梳理-2
-
一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一
-
Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules EclipseTomcat versionJ2EEJava EE
-
Java for Web学习笔记(一零二):Spring框架中使用JPA(2)Transaction(下)