javaWeb21/11/4

Servlet

ServletContext

1.数据共享
2.获取初始化参数

<context-param>
    <param-name>url</param-name>
    <param-value>jdbc:mysql://localhost:3306/mybatis</param-value>
  </context-param>
ServletContext s = this.getServletContext();
        String url = s.getInitParameter("url");//获取初始化参数
        resp.getWriter().print(url);

3.请求转发

        @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext s = this.getServletContext();
        s.getRequestDispatcher("/get").forward(req,resp);
        System.out.println("进入了ServletDemo03");
    }
<servlet>
    <servlet-name>sd3</servlet-name>
    <servlet-class>com.wenping.servlet.ServletDemo03</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>sd3</servlet-name>
    <url-pattern>/sd3</url-pattern>
  </servlet-mapping>

输入sd3的地址,ServletDemo03请求转发到get

请求转发和重定向的区别

4.读取资源文件
Properties类

  • 在java目录下新建properties
  • 在resources目录下新建properties
  • 发现:都被打包到了同一个路径下,classes,我们俗称这个路径为classpath
  • 思路:需要一个文件流
    1)编写资源文件,放在resources下
    username=wp
    password=297999
    2)
        //要找到target下的res.properties写入
        InputStream resourceAsStream = this.getServletContext().getResourceAsStream("/WEB-INF/classes/res.properties");
        Properties prop = new Properties();
        prop.load(resourceAsStream);
        String user = prop.getProperty("username");
        String pwd = prop.getProperty("password");
        resp.getWriter().print(user+":"+pwd);

3)效果

HttpServletResponse

如果要给客户端响应一些,找HttpServletResponse
web服务器接收客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表相应的HttpServletResponse
1.分类

  • 负责向浏览器发送数据的方法
    ServletOutputStream getOutputStream() throws IOException;
    PrintWriter getWriter() throws IOException;
  • 负责向浏览器发送响应头的方法
    void setCharacterEncoding(String var1);
    void setContentLength(int var1);
    void setContentLengthLong(long var1);
    void setContentType(String var1);
  • 相应的状态码
    int SC_OK = 200;
    int SC_MULTIPLE_CHOICES = 300;
    int SC_NOT_FOUND = 404;
    int SC_INTERNAL_SERVER_ERROR = 500;
    int SC_BAD_GATEWAY = 502;
posted @ 2021-11-04 23:06  想吃坚果  阅读(25)  评论(0)    收藏  举报