zoukankan      html  css  js  c++  java
  • 分析hello.java文件

    使用JavaServer Faces技术的Web模块示例

    1.hello1:

      hello1应用程序是一个web模块,它使用JavaServer Faces技术来显示问候和响应。可以使用文本编辑器查看应用程序文件,也可以使用NetBeans IDE。此应用程序的源代码在tut-install/示例/web/jsf/hello1/目录中。

      Hello类被称为托管bean类,它为Facelets页面表达式中使用的name属性提供了getter和setter方法。默认情况下,表达式语言引用类名,第一个字母为小写(hello.name)。

    package javaeetutorial.hello1;
    import javax.enterprise.context.RequestScoped; import javax.inject.Named;
    @Named @RequestScoped public class Hello {
        private String name;
        public Hello() {    }
        public String getName() {        return name;    }
        public void setName(String user_name) {        this.name = user_name;    } }

      如果使用bean类的默认名称,可以指定@Model作为注释,而不必指定@Named和@RequestScoped。@Model注释被称为原型,这是一个用于封装其他注释的注释的术语。稍后将在CDI应用程序中使用原型来描述它。一些例子将使用@Model,在适当的地方。

    2.hello2:

      hello2应用程序是一个web模块,hello2应用程序的行为几乎与hello1应用程序相同,但是它是使用Java Servlet技术实现的,而不是使用JavaServer Faces技术。可以使用文本编辑器查看应用程序文件,也可以使用NetBeans IDE。

      双击GreetingServlet.java 查看文件。这个servlet覆盖了doGet方法,实现了HTTP的GET方法。servlet显示一个简单的HTML问候表单,它的Submit按钮,就像hello1那样,为其操作指定一个响应页面。下面的摘录从@WebServlet注释开始,它指定了相对于上下文根的URL模式:

    @WebServlet("/greeting")
     public class GreetingServlet extends HttpServlet {
    
        @Override
        public void doGet(HttpServletRequest request,HttpServletResponse response)                
                 throws ServletException, IOException {
       response.setContentType("text/html");
       response.setBufferSize(8192);
       try (PrintWriter out = response.getWriter()) {
                out.println("<html lang="en">" + "<head><title>Servlet Hello</title></head>");
    
                // then write the data of the response 
               out.println("<body  bgcolor="#ffffff">"+ "<img src="duke.waving.gif" " + "alt="Duke waving his hand">"
    + "<form method="get">" + "<h2>Hello, my name is Duke. What's yours?</h2>"
    + "<input title="My name is: "type="text" "+"name="username" size="25">"
    + "<p></p>"+"<input type="submit" value="Submit">"
    + "<input type="reset" value="Reset">"+ "</form>"); String username = request.getParameter("username"); if (username != null && username.length()> 0) { RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/response"); if (dispatcher != null) { dispatcher.include(request, response); } } out.println("</body></html>"); } } ...

      双击ResponseServle.java查看它的文件。这个servlet还覆盖了doGet方法,只显示响应。下面的摘录从@WebServlet注释开始,它指定了相对于上下文根的URL模式:

    @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>"); 
               } 
           } 
       }
        ...  
  • 相关阅读:
    Atitit.木马病毒websql的原理跟个设计
    Atitit.cateService分类管理新特性与设计文档说明v1
    Atitit.cateService分类管理新特性与设计文档说明v1
    Atitit.iso格式蓝光 BDMV 结构说明
    Atitit.iso格式蓝光 BDMV 结构说明
    Atitit.复合文档的格式 标准化格式
    Atitit.复合文档的格式 标准化格式
    Atitit.木马病毒强制强行关闭360 360tray.exe的方法
    Atitit.木马病毒强制强行关闭360 360tray.exe的方法
    Atitit.复合文档的格式 标准化格式
  • 原文地址:https://www.cnblogs.com/gai-blog/p/8854903.html
Copyright © 2011-2022 走看看