zoukankan      html  css  js  c++  java
  • guice整合struts2,guice的使用(八)

    平时我们习惯用了spring整合struts2,今天我们就来见识一下guice整合struts2吧。

    看web.xml配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
      <filter>
        <filter-name>TransactionFilter</filter-name>
        <filter-class>com.ming.core.web.filter.TransactionFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>TransactionFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      <filter>
        <filter-name>guiceFilter</filter-name>
        <filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>guiceFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      <listener>
        <listener-class>com.ming.core.web.listener.GoogleGuiceServletContextListener</listener-class>
      </listener>
      
      <!-- struts2的过滤器 -->
      <filter>
        <filter-name>struts2</filter-name>
          <filter-class>
              org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
          </filter-class>
     </filter>
       <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

    然后是struts.xml 的配置:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
        <!-- 引用guice代理 -->
        <constant name="struts.objectFactory" value="guice" />
        <constant name="struts.i18n.encoding" value="UTF-8" />    
        <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
        <include file="com/ming/user/action/userStruts.xml"></include>
    </struts>

    其次是userStruts.xml的配置:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
        <package name="com.ming.user.action" namespace="/user"
            extends="struts-default">
            <action name="*_*" class="com.ming.user.action.{1}Action"
                method="{2}">
                <result name="data" type="stream">
                    <param name="contentType">text/html</param>
                    <param name="inputName">inputStream</param>
                </result>
            </action>
        </package>
    </struts>

    然后我们看一下action的代码:

    package com.ming.user.action;
    
    import java.io.InputStream;
    
    import com.google.inject.Inject;
    import com.ming.core.util.WebUtils;
    import com.ming.user.entity.User;
    import com.ming.user.service.UserService;
    
    public class UserAction {
    
        private String account;
        
        private int user_id;
        
        private InputStream inputStream = null;
        
        @Inject
        private UserService userService;
        
        public String saveUser() throws Exception{
            User u = new User();
            u.setAccount(account);
            u.setUser_id(user_id);
            try {
                userService.add(u);
                inputStream=WebUtils.responseText(true, "保存信息成功!");
            } catch (Exception e) {
                inputStream=WebUtils.responseText(false, "保存信息失败!");
                e.printStackTrace();
            }
            return "data";
        }
        
    
        public String getAccount() {
            return account;
        }
    
        public void setAccount(String account) {
            this.account = account;
        }
    
        public int getUser_id() {
            return user_id;
        }
    
        public void setUser_id(int user_id) {
            this.user_id = user_id;
        }
    
    
        public InputStream getInputStream() {
            return inputStream;
        }
    
    
        public void setInputStream(InputStream inputStream) {
            this.inputStream = inputStream;
        }
        
        
        
        
        
    }

    struts2就是这样与guice整合成功的。

    源码下载:喜欢我的代码点个赞呗

  • 相关阅读:
    升级:Logical Upgrade升级MySQL5.6.26
    基于GTID恢复误篡改数据
    mysql迁移:ibd表空间迁移库表
    mysql迁移:xtrabackup迁移mysql5.7.32
    Pycharm最新激活码2019
    转载:Prometheus+Grafana搭建HBase监控仪表盘
    总结《Elasticsearch源码解析和优化实战》第一讲
    yarn resourcemanager调优
    presto安装和集成kerberos的hive
    转载:shell expect实战实例
  • 原文地址:https://www.cnblogs.com/huzi007/p/5809906.html
Copyright © 2011-2022 走看看