JavaWeb的servlet的几个方法

JavaWeb的servlet的主要几个方法

  • 1.servletd的 init(ServletConfig config)初始化方法:
   /**
     * 
     * 初始化
     *
     * @param config
     * @throws ServletException
     * 
     * @date 2016年2月29日 上午21:26:06
     */
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init");
        //获取指定的参数名对应的值
        String name=config.getInitParameter("name");
        System.out.println("参数名为name对应的值为:"+name);

        //001获取所有的初始化参数名
        Enumeration<String> users= config.getInitParameterNames();
        while (users.hasMoreElements()) {
            String key=users.nextElement();
            String value=config.getInitParameter(key);//根据参数名获取对应的参数值
            System.out.println( key+"---"+value);

        }

        //002获取servlet名称
        String servletName=config.getServletName();
        System.out.println("Servlet的名称是:"+servletName);


        //003获取ServletContext对象
        ServletContext context=config.getServletContext();
        String name2=context.getInitParameter("jbdc");//获取指定ServletContext参数的值
        System.out.println("jbdc参数的值是:"+name2);


        //004获取当前WEB的某一文件收在服务器上从据对路径,不是部署前的物理路径
        String path=context.getRealPath("/index.jsp");
        System.out.println(path);

        //005获取当前WEB的名称 
        String contxtPath=context.getContextPath();
        System.out.println(contxtPath);

        //006获取当前web的某一文件的对应的输入流
        try {//方法一
            ClassLoader classloader=getClass().getClassLoader();
            InputStream is1=classloader.getResourceAsStream("cofig.properties");
            System.out.println(is1);
        } catch (Exception e) {
            e.printStackTrace();
        }

        try {//方法二(当前项目的根目录)
            InputStream is2=context.getResourceAsStream("/WEB-INF/classes/cofig.properties");
            System.out.println(is2);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
  • 2、servlet的service(ServletRequest request, ServletResponse
    response)方法:
 /**
     * 
     * servers常用的四个方法(请求和响应)
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     * 
     * @date 2016年2月29日 下午21:32:04
     */
    public void service(ServletRequest request, ServletResponse response)
            throws ServletException, IOException {
        //获取单个参数
        String name=request.getParameter("username"); 
        String password=request.getParameter("passw");
        System.out.println("请求成功!用户名是:"+name+"---密码:"+password);

        //获取多个(数组)
        String [] project=request.getParameterValues("select");
        for(String item :project){
            System.out.println(item);
        }

        //获取列举
        Enumeration<String> names=request.getParameterNames();
        while(names.hasMoreElements()){
            String paramete=names.nextElement();
            String value=request.getParameter(paramete);
            System.out.println(paramete+"----"+value);
        }

        //获取map
        Map<String, String[]> map=request.getParameterMap();
        for(Map.Entry<String,String[]> entry:map.entrySet() ){
            System.out.println(entry.getKey()+"==="+Arrays.asList(entry.getValue()));

        }

        //获取请求的路径
        HttpServletRequest httprequert=(HttpServletRequest)request;
        String url=httprequert.getRequestURI();
        System.out.println(url);
        //获取请求的方法
        String methoer=httprequert.getMethod();
        System.out.println(methoer);
        //获取请求的字符串(若是post方法,则获取不到)
        String QueryString=httprequert.getQueryString();
        System.out.println(QueryString);
        //获取请求的servlet映射的路径
        String path=httprequert.getServletPath();
        System.out.println(path);

        //---------------------响应方法--------------------
        //设置响应的类型
        response.setContentType("application/x-abiword");

        //返回打印
        PrintWriter out=response.getWriter();
        out.println("seccse");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值