前提: 会新建web项目,指定 web 容器如tomcat
1. servlet 方面
编写的servlet 要实现 Servlet接口或者继承 HttpServlet抽象类
参考代码:
package demo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author jacktu
* Creaet Date 2018-03-16
*/
public class HelloServlet extends HttpServlet {//继承 HttpServlet
@Override
/**
* Servlet容器收到请求之后,会调用 Servlet的service方法来处理请求。<br/>
* 注: 容器会事先创建好request和response, <br/>
* 其中,request对象封装了请求数据包里面的 所有数据。 <br/>
* 我们可以将处理结果写到response 对象里面, <br/>
* 然后容器负责从response对象从获取处理结果,然后打包发送给浏览器。 <br/>
*/
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/*
* 设置content-type消息头,告诉浏览器, 服务器返回的数据类型。
*/
response.setContentType("text/html");
/*
* 通过response对象获得输出流。
*/
PrintWriter out = response.getWriter();
/*
* 把数据写到response对象上。
* 注: Servlet容器会将response对象上存放的 数据取出来
* ,打一个包(响应数据包), 然后发送给浏览器。
*/
out.println("<h1>Hello Kitty</h1>");
/*
* 如果没有调用out.close,则容器会自动 关闭out。
*/
out.close();
}
}
2.配置方面
以下是 项目中 web.xml中的内容
web.xml 位置: webapp/WEB-INF/web.xml 或者 src/main/webapp/WEB-INF/web.xml
eclipse的话 按 Ctrl+Shift+R ,然后输入 web.xml 就可以找到
参考配置:
<!-- 此处是你自动生成的,复制时不要粘贴 -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 编写的servlet配置 -->
<servlet>
<!-- servlet名字(我随便取的) -->
<servlet-name>Hello</servlet-name>
<!--完整的类名 ,包名.类名 -->
<servlet-class>demo.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- servlet名字,和上面保持一致 -->
<servlet-name>Hello</servlet-name>
<!-- 相对项目访问路径 -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
3.访问路径
http//ip地址:端口号/项目名/servlet 的url 路径
例如: http://localhost:8080/HelloWorld/hello