简介:开发动态web的一门技术
开发Servlet程序步骤:
- 编写一个类,实现Servlet接口
- 把开发好的Java类部署到web服务器中
Servlet接口有两个默认的实现类:HttpServlet,GenericServlet
Maven环境优化
- 修改web.xml为最新的
- 将Maven的结构搭建完整
编写一个Servlet程序
- 编写一个普通类
- 实现Servlet接口,直接继承HttpServlet
- 重写HttpServlet父类两个方法,doGet或doPost
public class OneServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPost");
}
}
编写Servlet的映射
Why?:我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务器中注册我们写的Servlet,还需给他一个浏览器能访问的路径
<!--注册Servlet-->
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>com.xwc.servlet.HelloServlet</servlet-class>
</servlet>
<!--Servlet的请求路径-->
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
Mapping问题:
优先级:指定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求
配置Tomcat
注意配置项目发布的路径就可以了
启动测试
页面显示字样(如404):
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
resp.setCharacterEncoding("utf-8");
PrintWriter writer = resp.getWriter();
writer.print("<h1>404</h1>");
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}