下面按从零开始的思路,给你讲清楚如何配置和使用 Java Servlet。我会以最常见的 Tomcat + 标准 Servlet(非 Spring Boot) 为例。
JAVA_HOME=C:\Java\jdk1.8.0_xx
PATH=%JAVA_HOME%\bin
验证:
java -version
apache-tomcat-9.0.xx)bin/startup.bat (Windows)
bin/startup.sh (Linux/Mac)
访问:
http://localhost:8080
myweb/
├── WEB-INF/
│ ├── web.xml
│ └── classes/
│ └── HelloServlet.class
└── index.html
HelloServlet.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
out.println("Hello Servlet!");
}
}
javac -cp "C:\tomcat\lib\servlet-api.jar" HelloServlet.java
将生成的 .class 放入:
WEB-INF/classes/
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
version="3.1">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
将 myweb 文件夹复制到:
tomcat/webapps/
访问:
http://localhost:8080/myweb/hello
Servlet 3.0+ 可省略 web.xml
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.getWriter().write("Hello Annotation!");
}
}
WEB-INF/web.xml构造 → init() → service() → doGet/doPost → destroy()
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
getServletConfig().getInitParameter("encoding");
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
❌ 404
❌ 500
❌ 中文乱码
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
如果你愿意,我也可以:
你现在是 学习阶段 还是 做项目?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。