zoukankan      html  css  js  c++  java
  • Servlet简单概念和开发小总结

    一、Servlet概念

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

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

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

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

    添加服务

    项目部属到tomcat服务中

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

    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,否则就出现端口被占用的情况。

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

      

  • 相关阅读:
    重学数据结构系列之——图的储存
    重学数据结构系列之——森林之并查集(Disjoint set)
    nginx的sbin和conf文件不在同一目录怎么装安全狗
    优先队列解哈夫曼编码问题之带权路径长度
    重学数据结构系列之——堆及堆排序
    搭建git私有服务器及同步更新自己网站的文件
    void类型指针的基本用法
    关于c++中const的基本用法
    1054 求平均值 (20 分)
    数数
  • 原文地址:https://www.cnblogs.com/whymoney1000/p/10738642.html
Copyright © 2011-2022 走看看