zoukankan      html  css  js  c++  java
  • Hello2实例的分析

    首先:

    java EE 上的hello2项目是一个部署在glass fish上的开发源码的java web项目,在终端通过命令行使用maven进行打包成.war文件,最后部署到相关的glass fish服务器上。

    Java EE 的hello2 不同于hello1 的不同之处在于,前者可以直接通过hello1项目名进行访问文件,后者需要通过访问编写的greeting的web文件才能够访问到hello2文件。

    其中的原因在于如下:

    1:在hello2的项目中,采用的是Java servlet  技术来采取对项目的整体框架的搭建。编写另一个greeting的java文件,实现了一个greeting的java类来覆盖url的doGet方法,

    这个Java类重写了关于HTTP的get 方法,因此通过访问相关的url 即可以访问到编写的Java servlet 文件。主要的实例如下:

    复制代码
    @Override
        public void doGet(HttpServletRequest request,
                HttpServletResponse response)
                throws ServletException, IOException {
    
            response.setContentType("text/html");
            response.setBufferSize(8192);
    复制代码

    这个重写的doGet方法传入了一个request 和 response参数,对请求得到的响应进行处理,返回相关的编写的html类型的java web文件和并且设定最大的字节数为8192字节。

    http://host:port/context-root[/url-pattern
    
    @WebServlet("/greeting")
    public class GreetingServlet extends HttpServlet {
        ...}
    通过分析可知,这个Greeting继承了HttpServlet包,从而实现关于http的servlet方法,完成了url到web组件的映射。
    1
    2
    3
    4
    5
    6
    7
    if (username != null && username.length()> 0) {
                    RequestDispatcher dispatcher =
                        getServletContext().getRequestDispatcher("/response");
     
                    if (dispatcher != null) {
                        dispatcher.include(request, response);
                    }
    
    

     编写的实例类实现了一个关于用户名和用户名长度的判别方法,对用户输入的信息进行判别,并通过responseServlet进行处理,相关的实例如下:

    复制代码
    @WebServlet("/response")
    public class ResponseServlet extends HttpServlet {
    
        @Override
        public void doGet(HttpServletRequest request,
                HttpServletResponse response)
                throws ServletException, IOException {
            try (PrintWriter out = response.getWriter()) {
    
                // then write the data of the response
                String username = request.getParameter("username");
                if (username != null && username.length()> 0) {
                    out.println("<h2>Hello, " + username + "!</h2>");
                }
            }
        }
    复制代码

    当用户输入信息时,后端对输入的信息做出响应,呈现出java web的servlet HTML组件。

    总结:

    Servlet 技术首先编写一个java 类实现一个servlet接口,其次将开发好的Java web类部署到web 服务其中,即glass fish服务器中,即可以实现javaweb简单部署。

    Servlet程序是由服务器调用,当服务器收到客户端的http请求时:

    1:  首先判断是否是第一次访问Servlet程序,如果是则创建Servlet实例,调用实例对象的init()方法。

    2 : 创建一个用于封装HTTP请求消息的HttpServletReqset对象和一个代表HTTP响应消息的HttpServletResponse对象。

    3 :    最后调用doGet()方法将请求参数和响应参数传递进去。

    通过以上的步骤,客户端通过请求上下文的URL即 ”http://host:port/context-root[/url-pattern]“ 能够访问到部署在glass fish服务器上的Java Servlet项目 即hello2。

  • 相关阅读:
    【NET CORE微服务一条龙应用】第一章 网关使用与配置
    111
    test
    再来一个测试
    测试博客
    flutter 中的json解析
    关于flutter -app开发过程中的问题及解决方式总结
    使用Mybatis-plus通过自定义Sql查询只有主键为null的问题
    Centos 6中keepalived作为服务启动
    CentOS6 开放、关闭防火墙相关端口命令
  • 原文地址:https://www.cnblogs.com/ljy1/p/10591432.html
Copyright © 2011-2022 走看看