Sun 刚刚发布了NetBeans6.8与GlassfishV3和JEE6,我迫不及待地下载安装,并进行了简单的测试;有了JEE容器,有了开发工具,咱们就进行JEE6体验之旅吧!
Servlet3.0规范——JSR 315(Java Specification Request)。其高级目标包括可插拔web框架、EoD(ease of development——易于开发)特征、支持异步和Comet、安全、与其他规范结合、以及其它各项改进。注解@WebServlet、@@WebFilter、@WebListener分别对应Servlet、过滤器、与Servlet侦听。
servlet 3.0规范为使用它的开发人员实现了以下目标:简单性、减轻开发工作量、遵循web 2.0原则。
为了使开发过程更加轻松,Servlet 3.0引入了注释。类似于EJB 3.1的改变,注释的引入使得web部署描述符web.xml成为可选项。
可插性
每当我们使用第三方框架如Struts、JSF或者Spring的时候,我们需要在web.xml中为相应的Servlet添加相应的条目,这使得web部署描述符变得繁琐并且难以维护。 Servlet 3.0中引入的可插性使得web应用程序更加模块化,也更加易于维护。由于可插性是通过web片段来实现的,所以它使得开发人员不必再在web.xml中建立太多的Servlet配置条目。
异步处理
新的Servlet规范中的另一项重大变化是支持异步处理,这对于AJAX应用程序来说是一个非常有用的特性。当Servlet创建发送请求的线程的时候,它通常必须等待诸如数据库或者消息连接等资源返回响应,之后它才能在这个线程中执行其他操作。异步处理通过允许线程执行其它的操作而避免了这样的阻塞式请求。
一、新建JEE6项目
打开Netbeans6.8,选择“新建项目”—>“java web”—>“web 应用程序”然后下一步:
在项目名称处输入“JEE6Test”下一步:
服务器:选择“GlassFishV3”,Java EE 版本:选择“Java EE WEB”点击完成则建立一个项目名称是:“JEE6Test” WEB项目。
二、Servlet体验
新建包com.servlet,把测试的代码都放在这个目录中,然后在com.servlet包上单击右键; 选择“新建”—>“servlet”如下图:
输入名称“TestServlet”点击完成,去掉注释代码后如下:
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name="TestServlet", urlPatterns={"/TestServlet"})
public class TestServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet TestServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet TestServlet at " + request.getContextPath () + "</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
选中TestServlet.java点击右键,选择运行则可以看Servlet TestServlet at /JEE6TEst页面。真是简单!@WebServlet(name="TestServlet", urlPatterns={"/TestServlet"})解决了一切问题。Name=”TestServlet”是定义了Servlet名称是TestServlet,urlPatterns=={"/TestServlet"}定义了Servlet访问的URL路径;在浏览器输入http://localhost:8080/JEE6Test/TestServlet就可以看到效果了。
Servlet 3.0中的重大革新之一是支持注释。通过使用注释定义Servlet和过滤器,就无需在web部署描述符(web.xml)中建立Servlet/过滤器条目了。
为了在web应用中定义Servlet组件,我们可以使用@WebServlet。我们可以将其用于继承类javax.servlet.http.HttpServlet的类。注释@WebServlet具有许多属性。例如name、urlPatterns和initParams,我们可以通过它们来定义Servlet的行为。对于url模式,我们必须规定注释本身,或者规定注释的属性。
三、体验过滤器(Filter)
选择com.servlet单击右键,选择“WEB”—》“过滤器”下一步,在对话框中输入“TestFilter”点击完成。
在新建过滤器配置过滤器部署对话框中“新建”在 URL框中输入 “/*”确定,然后完成。
则生成如下代码:
package com.servlet;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter(filterName = "TestFilter", urlPatterns = {"/*"})
public class TestFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
throw new UnsupportedOperationException("Not supported yet.");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
public void destroy() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
一个注解:@WebFilter(filterName = "TestFilter", urlPatterns = {"/*"})完成了过滤器的配置。名称是TestFilter,对/*所有的访问都过滤;功能是设置编码是UTF-8格式。
使用注释@WebFilter来定义过滤器。这个注释还具有可选参数。我们可以在任何实现了javax.servlet.Filter接口的类上使用@WebFilter。类似于@WebServlet注释,我们也必须为这个注释指定url模式。
四、体验Listener
在com.servlet包名称上单击右键,选择新建选择:“WEB-WEB应用程序侦听程序”如下图:
点击下一步在名称中输入:“TestServletListener”则生成以下代码:
package com.servlet;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
@WebListener()
public class TestServletListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent se) {
System.out.println("Session Created");
}
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("sessionDestroyed");
}
}
又是一个注解@WebListener()完成了配置,启动服务器,侦听已经生效了。
将注释@WebListener用于充当给定web应用上下文中各种web应用事件的监听器的类。我们可以使用@WebListener来标注一个实现ServletContextListener、ServletContextAttributeListener、ServletRequestListener、ServletRequestAttributeListener、HttpSessionListener和HttpSessionAttributeListener的类。
除了上面描述的特定于Servlet的注释之外,Servlet 3.0还支持所有定义为JSR 175(Java元数据规范)和JSR 250(用于Java平台通用注释) 的一部分的注释,包括:
与安全有关的注释,诸如@DeclareRoles 和@RolesAllowed
使用EJB的注释,诸如@EJB和@EJBs
用于资源注入的注释,诸如@resource和@Resources
使用JPA的注释,诸如@PersistenceContext、@PersistenceContexts、@PersistenceUnit和@PersistenceUnits
生命周期注释,诸如@PostConstruct 和@PreDestroy
提供web服务索引的注释,诸如@WebServiceRef 和@WebServiceRefs
呵呵。。。。。。简单吗!开发效率高吧!真是一个爽!
下一节我们体验EJB3.1......
- 大小: 59.7 KB
- 大小: 58.2 KB
- 大小: 51.1 KB
- 大小: 38.7 KB
- 大小: 70 KB
- 大小: 69.3 KB
- 大小: 69.8 KB
分享到:
相关推荐
初学netbeans6.8 做的一个关于界面的小程序 symbian s60 在诺基亚3250上测试成功
mingw5.1.6+gdb6.8+msys1.0.11整合下载,内附安装说明和环境变量配置说明。以及NetBeans下的配置。
说明了Android+Netbeans6.8环境搭建过程,以及使用Netbeans环境 时,虚拟sd卡的使用
Android\Android+Netbeans6.8环境搭建
Netbeans6.8 配置php5.30.docNetbeans6.8 配置php5.30.docNetbeans6.8 配置php5.30.doc
netbeans 6.8开发c/c++ 程序 两个连接编译软件+安装说明doc文档+官网文档 简洁明了的图文说明 你可以不知道java,你不可以不尊敬SUN——一个伟大的平民公司
Netbeans 6.8配置Mysql数据库.docxNetbeans 6.8配置Mysql数据库.docx
方便 快捷 NetBeansIDE6.8 java 看了这个可以帮助你更好地使用NetBeansIDE6.8
netbeans 6.8开发c/c++ 程序 两个连接编译软件+安装说明doc文档+官网文档 简洁明了的图文说明 你可以不知道java,你不可以不尊敬SUN——一个伟大的平民公司
NetBeans+Tomcat+MySQL配置
Netbeans 6.8配置Mysql数据库 (2).docxNetbeans 6.8配置Mysql数据库 (2).docx
NULL 博文链接:https://bloodmud.iteye.com/blog/571282
本程序用jsp+servlet+ejb3.0实现了一个网上电子书城,功能不是很完善,仅供参考....
NetBeans+IDE+使用说明和示例教程.pdf
NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建...NetBeans项目由一个活跃的开发社区提供支持, NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。
Java实验工具2(netbeans-6.8m2-ml-javase-windows)
这是NetBeans IDE工具的一些基本的使用实例,初学者可以看一看
提供的百度网盘链接。 包含 1.JDK-8u161; 2.JRE-8u161; 3.Netbeans支持所有技术版; 4.Netbeans支持PHP版; 及安装说明。
PHP编辑软件 带提示 免费,不需注册,可以聊天 注:由于文件上传大小限制 这是第一个压缩文件请根据第二个连接下载第二个文件
java+netbeans+swing,用Netbeans IDE设计的MP3程序。