Demo
IDEA demo1:
http://me.heawill.top/upload/2021/07/demo-14a888df59e74c8aa506f51addd5559e.zip
IDEA demo2(投票demo):
http://me.heawill.top/upload/2022/04/vote_demo-0adf9b6662624598a037224cd200647a.zip
基本概念
jsp/servlet项目需要依托对应的容器,如tomcat,才能跑起来。
其主要是web.xml配置文件,和servlet实现。
servlet文件示例
package com.example.demo;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet(name = "helloServlet", value = "/hello-servlet")
public class HelloServlet extends HttpServlet {
private String message;
public void init() {
message = "Hello World!";
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html");
// Hello
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>" + message + "</h1>");
out.println("</body></html>");
String contextPath = request.getSession().getServletContext().getRealPath("/");
System.out.println(contextPath);
}
public void destroy() {
}
}
如果不使用@WebServlet注解,则需要在web中配置此servlet,如:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<!-- 声明Servlet对象 -->
<servlet-name>HelloServlet</servlet-name>
<!-- 上面一句指定Servlet对象的名称 -->
<servlet-class>com.example.demo.HelloServlet</servlet-class>
<!-- 上面一句指定Servlet对象的完整位置,包含包名和类名 -->
</servlet>
<servlet-mapping>
<!-- 映射Servlet -->
<servlet-name>HelloServlet</servlet-name>
<!--<servlet-name>与上面<Servlet>标签的<servlet-name>元素相对应,不可以随便起名 -->
<url-pattern>/hello-servlet</url-pattern>
<!-- 上面一句话用于映射访问URL -->
</servlet-mapping>
</web-app>