当前位置: 首页 > news >正文

郑州的网站建设如何设计自己公司网页

郑州的网站建设,如何设计自己公司网页,手工制作大全折纸,国际线上会议加密如果读者对于Guice没有大体的了解#xff0c;可以参考本人的另一篇Guice基础文章 Guice 提供了一个完整的体系使得我们在web应用中也可以使用它作为依赖注入的工具. 为什么使用 Guice : 使用Guice的好处: 构造函数注入类型安全的, 方便的配置方式(只需要在web.xml中进行很…如果读者对于Guice没有大体的了解可以参考本人的另一篇Guice基础文章 Guice 提供了一个完整的体系使得我们在web应用中也可以使用它作为依赖注入的工具. 为什么使用 Guice : 使用Guice的好处: 构造函数注入类型安全的, 方便的配置方式(只需要在web.xml中进行很少的配置)模块化Guice AOP 同时, Guice并不会改变标准servlet的生命周期 如何配置呢 在开始之前首先获取最新的 guice-servlet.jar. 小编用maven做所以这块如果读者使用其他方式需要根据自己的情况进行配置这里贴上小编的 maven 文件内容 dependencygroupIdcom.google.inject/groupIdartifactIdguice/artifactIdversion4.0/version/dependencydependencygroupIdcom.google.inject.extensions/groupIdartifactIdguice-servlet/artifactIdversion4.0/version/dependency 在web.xml中配置GuiceFilter过滤器: 在所有依赖包都配置好之后我们需要做的第一件事是配置GuiceFilter. 这个过滤器重新路由所有的客户端请求   filterfilter-nameguiceFilter/filter-namefilter-classcom.google.inject.servlet.GuiceFilter/filter-class/filterfilter-mappingfilter-nameguiceFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping 安装ServletModule 在完成上面的操作之后,接下来要做的事情是安装ServletModule Guice.createInjector(new ServletModule()); 这个模块是用来设置请求和会话范围(scopes),同时提供一个配置你的过滤器和servlet的方法. 一个不错的建议是在一个ServletContextListener 中进行当然你也可以在其他你需要该注入器(injector)的地方 Guice Servlet提供了一个GuiceServletContextListener 我们可以继承该类实现自己的ServletContextListener public class MyGuiceServletConfig extends GuiceServletContextListener {Overrideprotected Injector getInjector() {return Guice.createInjector(new ServletModule());} } 然后在web.xml中配置该listener.然后当Servlet 容器启动Web 应用时该监听器便会被执行我们的ServletModule 被安装 listenerlistener-classcom.up.MyGuiceServletConfig/listener-class /listener Binding Language 我们可以将ServletModule 看做一个代码形式的web.xml文件过滤器和servlet可以通过简单的调用一些java api 实现下面看一个简单的例子: Guice.createInjector(..., new ServletModule() {Overrideprotected void configureServlets() {serve(/*).with(MyServlet.class);filter(/*).through(MyFilter.class);}} serve(/*).with(MyServlet.class); 等价于 servletservlet-nameMyFilter/servlet-nameservlet-classcom.up.servlet.MyServlet/servlet-class/servletservlet-mappingservlet-nameMyFilter/servlet-nameurl-pattern/*/url-pattern/servlet-mapping filter(/*).through(MyFilter.class); 等价于 filterfilter-nameMyFilter/filter-namefilter-classcom.up.filter.MyFilter/filter-class/filterfilter-mappingfilter-nameMyFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping Note: 每个 servlet 或者 filter 需要是单例的如果你不能直接注解该类那么你需要使用bind(..).in(Singleton.class). Guice servlet不支持SingleThreadModel 可用的注入: 安装了ServletModule 之后我可方便的注入一些servlet体系中的类. RequestScoped class SomeNonServletPojo {InjectSomeNonServletPojo(HttpServletRequest request, HttpServletResponse response, HttpSession session) {...}} 请求和响应是当前http请求作用域。同样的http会话对象是当前用户会话作用域。除此之外你也可以使用绑定注释RequestParameters注入当前ServletContext和请求参数如下: Inject RequestParameters MapString, String[] params; 这里必须是MapString, String[] 因为http允许多个value对应于同一个key Note: 如果你想给一个大作用域的对象注入一个请求作用域或者会话作用域的对象, 你应该使用ProviderT 多对一映射 我们可以将多个 url 映射到相同的 servlet. serve(*.html, /my/*).with(MyServlet.class); 该方法对于过滤器也同样适用 正则表达式映射 我们也可以使用正则表达式方式映射 url 到特定的 servlet 或 filter. serveRegex((.)*ajax(.)*).with(MyAjaxServlet.class) 上述实例会将所有包含 “ajax” 的 URI 映射到 MyAjaxServlet 初始化参数 在有 web.xml 时我们可以通过配置init-param 给 servlet 或 filter 传入初始化参数. Guice Servlet 中完成该任务只需要在配置该 servlet 或 filter 时传入一个MapString, String 实例就ok了 MapString, String params new HashMapString, String();params.put(coffee, Espresso);params.put(site, google.com);serve(/*).with(MyServlet.class, params) 绑定Key 你也可以不绑定特定的实现类取而代之的是绑定一个接口然后通过 Guice 注入特定的实现类 filter(/*).through(Key.get(Filter.class, Fave.class)); 这里的Filter.class 是 Servlet API javax.seervlet.Filter, Fave.class 是一个自定义的绑定注解 然后在你自己的模块中将特定的filter绑定到该接口 bind(Filter.class).annotatedWith(Fave.class).to(MyFilterImpl.class); 注入injector 你可以在任何时刻取得injector对象,只需要像下面这样一行代码就可以了 Singleton public class MyServlet extends HttpServlet {Inject private Injector injector;... }// elsewhere in ServletModule serve(/myurl).with(MyServlet.class); 恭喜你到此你可以开始你自己的 Guice Servlet 之旅了
http://www.zqtcl.cn/news/936182/

相关文章:

  • 网站管理员要干些什么开发公司专票
  • 陕西省建设银行网站6网站都有什么类型的
  • 哪里有做网站设计全国室内设计学校
  • 简单的网站php开发教程账户竞价托管哪里好
  • dede网站搬家教程浙江省住房和城乡建设部网站
  • 网站分页符怎么做做网站是什么意思
  • 影视网站开发工程师店铺装修
  • ip138查询网站网址域名ip网站外包制作
  • 网站建设需求怎么写网站seo快速排名优化
  • 网站后台文章添加成功 不显示注册安全工程师是干什么的
  • 网页制作网站建设百度网站推广费用多少钱
  • 长沙网站建设软件wordpress加菜单
  • 网站建设教育板块wordpress $pagenow
  • 岳阳手机网站建设自己可以给公司做网站吗
  • 旅游网站建设目的关于建设网站的需求分析
  • 手机可以建立网站吗自己造网站
  • 厦门建网站哪家好手机编程网站
  • 网站搭建后台奥门网站建设
  • 电子商务网站免费模板展示型网站与营销型网站
  • 除了红动中国还有哪些设计网站宁波建网站哪家
  • 网站的建设费用预算策划书wdcp网站备份
  • 济南制作公司网站网站设计的实例
  • 网站建设需要的文案一个网站的后台怎么做
  • 电影网站建设模板营销方式都有哪些
  • 书店商城网站建设方案未央免费做网站
  • 北京房产网北京二手房企业网站seo方案案例
  • 大连品牌官网建站二级建造师最好的网站
  • python开发工具搜索引擎优化的英语简称
  • 做产品代理上哪个网站好东莞公司网上推广
  • 专业制作网站公司上海广告公司联系方式