JavaWeb20.servlet的基本使用

各位好久不见,今天继续分享javaweb的编程经验

目录

servlet的简介

基本步骤

servlet的基本使用——实现

servlet的基本使用——继承


servlet的简介

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

为了实现项目的高内聚低耦合,在.jsp文件中没有java代码,所以我们需要使用到servlet

基本步骤

  1. 新建java文件
  2. 实现(继承)servlet接口(类)
  3. 重写service
  4. 提供访问路径
  5. jsp跳转到其访问路径

servlet的基本使用——实现

实现servlet接口,并重写servlet中的方法

package com.servlet;

import com.sun.net.httpserver.HttpsParameters;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;

public class MyServletImpl implements Servlet {

    /**
     * 初始化
     * @param servletConfig
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
    }

    /**
     * 获得连接配置
     * @return servletConfig
     */
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    /**
     * 服务
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        //重写请求和响应
        HttpServletRequest request =(HttpServletRequest)servletRequest;
        HttpServletResponse response =(HttpServletResponse)servletResponse;

        request.setCharacterEncoding("utf-8");  //设置请求编码
        response.setCharacterEncoding("utf-8"); //设置响应编码

        HttpSession session = request.getSession();  //得到session
        Object u = session.getAttribute("username");  //得到session中的元素
        if("sa".equals(u)){
            session.setAttribute("user","sa");  //在session中存user
        }

        PrintWriter out=response.getWriter();   //得到在页面上的输出对象
        out.println("写在页面上的内容");

        request.getParameter("username");   //得到请求中的数据
        ServletContext application = request.getServletContext();  //得到application对象
    }

    /**
     * 获得连接详情
     * @return
     */
    @Override
    public String getServletInfo() {
        return null;
    }

    /**
     * 销毁
     */
    @Override
    public void destroy() {

    }
}

提供访问路径

当修改了配置文件时,需要重启服务器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>MyServlet.impl</servlet-name>
        <servlet-class>com.servlet.MyServletImpl</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>MyServlet.impl</servlet-name>
        <url-pattern>/myServlet.do</url-pattern>
    </servlet-mapping>
</web-app>

servlet的基本使用——继承

package com.servlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/MyServletExtn")
public class MyServletExtn extends HttpServlet {

    /**
     * 处理get请求方法,管他那么多,都放到post里面去
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");  //设置编码格式
        resp.setCharacterEncoding("utf-8");  //设置编码格式
        
        String username=req.getParameter("username");   //得到请求数据
        
        HttpSession session = req.getSession();

        ServletContext application = req.getServletContext();   //得到application
    }
}

你要尽全力保护你的梦想。那些嘲笑你梦想的人,他们注定失败,他们想把你变成和他们一样。我坚信,只要心中有梦想,我就会与众不同。你也是。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值