日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

查看Servlet 3.0的新增功能

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 查看Servlet 3.0的新增功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隨著JEE6規范上市,在企業應用程序領域中如何開發應用程序方面發生了一些重大變化。 在本文中,我將介紹有關Web應用程序開發的一些更改。

首先,請告別web.xml部署描述符(至少是其中的一部分)。 好吧,它并不是不贊成使用,但是隨著注釋的使用及其使用的增加,新規范允許我們使用注釋來定義我們的配置,盡管諸如歡迎文件列表,上下文參數等仍然需要去做。在您的web.xml中。 可用的注釋有;

  • @WebServlet
  • @WebFilter
  • @WebInitParam
  • @WebListener
  • @MultipartConfig

在本文中,我將檢查@WebServlet和@WebFilter批注。 讓我們看看在web.xml時代通常如何映射servlet。

<servlet><servlet-name>myservlet</servlet-name><servlet-class>com.example.MyServlet</servlet-class></servlet><servlet-mapping><servlet-name>myservlet</servlet-name><url-pattern>/hello</url-pattern></servlet-mapping>

使用Servlet 3.0規范,現在配置Servlet就像注釋擴展HttpServlet的類一樣容易。 讓我們看一下它的樣子;

@WebServlet('/student') public class StudentServlet extends HttpServlet{/*** */private static final long serialVersionUID = 2276157893425171437L;@Overrideprotected void doPost(HttpServletRequest arg0, HttpServletResponse arg1)throws ServletException, IOException {StringBuilder response = new StringBuilder(500);response.append('<html><body>').append('Registered Student : ').append(arg0.getParameter('txtName')).append('</body></html>');arg1.getOutputStream().write(response.toString().getBytes());arg1.getOutputStream().flush();arg1.getOutputStream().close();} }

您只需要@WebServlet批注。 為了使它起作用,該類應該駐留在WEB-INF / classes文件夾中,或者駐留在WEB-INF / lib文件夾中的jar中。 接下來,讓我們看看如何配置帶有注釋的過濾器。

package com.blog.example.servlettest;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('/student') public class StudentFilter implements Filter{@Overridepublic void destroy() {}@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {if(arg0.getParameter('txtName')==null || arg0.getParameter('txtName').isEmpty()){arg1.getWriter().append('Invalid name supplied');arg1.getWriter().flush();arg1.getWriter().close(); }else{arg2.doFilter(arg0, arg1);}}@Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub}}

再次非常容易。 僅作為注釋即可通知它為過濾器。 請注意,這里我們實現了Filter接口。 該urlPatterns應該可用。 根據規范,同時使用兩者都是非法的。

在接下來的幾周中,我將介紹JEE6提供的其他新注釋,并結合使用它們的完整示例進行總結。 JEE6是否取代Spring框架本身并不是一個問題,但是我相信我們將會看到兩者之間的激烈競爭。 注釋vs xml的爭論已或多或少地解決了,每個人都傾向于擁有自己的立場。 我相信這兩個方面的知識對應用程序都會有所幫助。

您可以下載并運行我已在此處上傳的示例示例。 如果您使用的是JBoss-AS7 ,則只需在獨立模式下運行應用程序服務器,然后執行mvn軟件包jboss-as:deploy并將瀏覽器指向http:// localhost:{port} /servlet3.0

今天就是這樣。 感謝您的閱讀,如果您有任何意見或改進建議,請留下評論。

祝你有美好的一天!

參考:在My My Journey Through IT博客上,從我們的JCG合作伙伴 Dinuka Arseculeratne中了解Servlet 3.0的新增功能 。

翻譯自: https://www.javacodegeeks.com/2012/12/checking-out-what-is-new-with-servlet-3-0.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的查看Servlet 3.0的新增功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。