• Servlet 4—— 将响应结果输出到浏览器中


    前一个FirstServletWebApp只是将在webapp中加入了servlet代码,并将结果输出到控制台,这次在PrintToBroswer使用servlet代码实现简单的输出到浏览器的操作。

    web.xml

    <?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>helloServlet</servlet-name>
        <servlet-class>WelcomeServlet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
      </servlet-mapping>
      
     </web-app>

    WelcomeServlet.java

    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;//标准输出流,不需要关闭
    
    public class WelcomeServlet implements Servlet
    {
        public void init(ServletConfig config)throws ServletException{}
        public void service(ServletRequest request,ServletResponse response)
            throws ServletException,IOException{
            //解决响应的时候中文乱码问题
            //设置响应的内容类型以及字符编码方式
            response.setContentType("text/html;charset=UTF-8");
    
            //将信息输出到浏览器上
            //将HTML字符输出到浏览器上,浏览器解释执行
            PrintWriter out = response.getWriter();
            
            out.print("<html>");
            out.print("<head>");
            out.print("<title>welcome servlet</title>");
            out.print("</head>");
            out.print("<body>");
            out.print("<h1 align='center'>welcom study servlet</h1>");
            out.print("<br>");
            out.print("<font>我喜欢你!</font>");
            out.print("</body>");
            out.print("</html>");
            
            //ln表示将HTML源代码换行,这个没有必要,换行后反而体积增大了,影响效率。
            /*
            out.println("<html>");
            out.println("<head>");
            out.println("<title>welcome servlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1 align='center'>welcom study servlet<h1>");
            out.println("</body>");
            out.println("</html>");
            */
        }
        public void destroy(){}
        public String getServletInfo(){return null;}
        public ServletConfig getServletConfig(){return null;}
    }

    HttpServletResponse对象

    javax.servlet.ServletResponse是接口,是SUN制定的响应对象,专门完成向浏览器的响应动作。

    javax.servlet.http.HttpServletResponse父接口是ServletResponse

    获取响应流:PrintWriter out = response.getWriter();

    解决响应中的中文乱码问题(在获取响应流之前设置,设置响应的内容类型以及字符编码方式):response.setContentType(text/html;charset=UTF-8);内容类型编写错误会导致文件下载。

    关于PrintWriter中的方法:

    • println方法:输出到浏览器的HTML源码换行
    • print方法:输出到浏览器的HTML源码不换行

    如果想在网页中做到换行效果,需要使用HTML识别的 <br>标签。

    向特定的浏览器客户端发送Cookieresponse.addCookie(cookie);

    转载请注明出处:https://www.cnblogs.com/stu-jyj3621
  • 相关阅读:
    第二章:Java内存区域
    第六章:内核数据结构
    第十章:内核同步方法
    第九章:内核同步介绍
    第九章:zookeeper内部原理
    第三章:开始使用zookeeper的API
    第二章:了解zookeeper
    【观点】健康的心智是中国未来最大的生产力
    【流程管理分享】人事不分,问题不断
    为什么中国人勤劳而不富裕?为什么宋朝富裕而不强大?
  • 原文地址:https://www.cnblogs.com/stu-jyj3621/p/14351817.html
Copyright © 2020-2023  润新知