一、Servlet概念

  安装了tomcat了解到其实tomcat是一个容器,可以处理用户发送的请求(Request),之后会为请求做出一个响应(Response),此时用户只能请求一些现成的资源,容器直接返回给客户,如果要容器能接受用户传递的参数实现数据的交互,那么还要在容器有专门的程序实现这样的数据交互,这样的程序叫做服务器端小程序,被叫做Servlet。要进行实现servlet的编写需要继承一个抽象类HttpServlet,这个类是tomcat提供的,安装完tomcat之后就有该类可以使用了。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

二、开发一个简单Servlet程序过程

1、创建一个动态项目(ServletProject)。

Servlet简单概念和开发小总结 随笔 第1张

Servlet简单概念和开发小总结 随笔 第2张

 

 

 

Servlet简单概念和开发小总结 随笔 第3张

Servlet简单概念和开发小总结 随笔 第4张

Servlet简单概念和开发小总结 随笔 第5张

2、为工作项目添加tomcat服务

Servlet简单概念和开发小总结 随笔 第6张

添加服务

Servlet简单概念和开发小总结 随笔 第7张

项目部属到tomcat服务中

Servlet简单概念和开发小总结 随笔 第8张

在所建的项目名上点右键 ,添加环境

Servlet简单概念和开发小总结 随笔 第9张

Servlet简单概念和开发小总结 随笔 第10张

3.开发Servlet程序

  HttpServlet是一个抽象类,没有抽象方法,是一个模板设计模式的类,模板方法是service()。servlet负责处理的路径是由容器tomcat去分配的,但是在分配 之前需要进行配置,在web.xml文件中进行配置,该文件在webContent/WEB-INF下。

public class EmpServlet extends HttpServlet{
    //取得业务层实现类对象
    private IEmpService empservice=(IEmpService)ServiceFactory.getInstance(IEmpServiceImpl.class);
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        String m= req.getMethod();
//        System.out.println("处理的请求是"+m);
        
        String id=req.getParameter("id");
        try {
            System.out.println(empservice.findEmpById(Integer.parseInt(id)));
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
//        System.out.println("666888");
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String name=req.getParameter("username");
        String pwd=req.getParameter("pwd");
//        System.out.println("处理的请求是"+m);
        System.out.println("用户名是:"+name+",密码是:"+ pwd);
    }
}

配置servlet的映射路径

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>MvcPro</display-name>
  <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-name>empServlet</servlet-name>
  <servlet-class>com.sxt.mvcpro.controller.EmpServlet</servlet-class>
  </servlet>
  <!-- 定义出上面的servlet处理的路径 这个路径叫做servlet的映射路径 -->
  <servlet-mapping>
  <servlet-name>empServlet</servlet-name>
  <url-pattern>/emp</url-pattern>
  </servlet-mapping>
</web-app>

启动项目之前要关闭之前已经启动的tomcat,否则就出现端口被占用的情况。

Servlet简单概念和开发小总结 随笔 第11张

浏览器中访问的路径名称是:主机名(域名/ip地址)+项目名+servlet的路径名 ,比如:http://localhost:8080/MvcPro/emp

 

 

 

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄