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整合成功的。

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

时间: 2024-10-13 05:51:54

guice整合struts2,guice的使用(八)的相关文章

guice整合struts2与jpa,guice的使用(九)

传统我们开发一般使用ssh,但是有些微服务应用的项目我们不需要这么臃肿的框架做开发,于是采用了guice+struts2+guice作为框架组合进行了开发. 先看我们项目引用的jar包: 使用的时候一定要主要jar的版本问题.我项目在jdk1.7上面开发的 然后看一下web.xml的配置: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w

guice基本使用,guice整合guice-servlet,web开发(五)

介绍 Guice Servlet 为使用web应用程序和Servlet容器提供了一个完整的模式.. Guice's servlet 扩展允许从你的servlet应用中完全淘汰web.xml,并且具有类型安全(type-safe)的优势. 符合Java方式的配置你的servlet和filter组件. 这不仅在于可以使用更好的API来配置你的web应用程序,而且也在于在web应用组件中加入依赖注入,意味着你的servlet和filter得益于以下几个方面: 构造方法注入(Constructor in

Spring整合Struts2

Spring整合Struts21整合目的:让Spring的IOC容器去管理Struts2的Action, 2Struts2是web开源框架,Spring要整合Struts2,也就是说要在web应用使用Spring①. 需要额外加入的 jar 包:spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE.jar ②. Spring 的配置文件, 和非 WEB 环境没有什么不同 ③. 需要在 web.xml 文件中加入如下配置: <!-- 配置

整合Struts2.2+Spring3.0

2014-08-08 学习李刚老师的j2ee整合struts2+spring3 JAR包链接 http://download.csdn.net/detail/u010393809/7732235 项目outline 1.引入JAR包,上面已经贴了JAR包下载链接 2.配置Struts2,只需要引入struts2必需的那几个包,此时暂时不要引入struts2-spring-plugin-2.2.1.jar,不然会抛出javaPointerNull的异常 配置web.xml; 配置struts.xm

整合Struts2框架和Spring框架

-----------------------siwuxie095 整合 Struts2 框架和 Spring 框架 1.导入相关 jar 包(共 27 个) (1)导入 Struts2 的基本 jar 包(13 个) 其中: 在 Struts2 和 Hibernate 中,都有 javassist,会产生冲突, 选择高版本,删除低版本即可 (2)导入 Spring 的核心 jar 包和日志相关的 jar 包(6 个) Commons Logging 下载链接: http://commons.a

SSH框架手动整合——Struts2+Hibernate4+Spring4

最近遇到过一些框架方面的问题,其中有MyBatis.SSH.SpringMVC,其中SSH的一些配置有些忘的差不多了,也有一些同事问了这些问题,前几个月也整合过SSH框架,那个时候是直接拿别人的Jar包直接整合框架,好像是Struts2+Hibernate3+Spring4,这次是相关的Jar从相关的官网下的. 我整合的环境: --Win 7 64 --MySQL 5.6 --MyEclipse 2014 --Jar包:struts-2.3.28.spring-framework-4.0.4.R

整合struts2+spring+hibernate

 一.准备struts2+spring+hibernate所需要的jar包: 新建web项目并将jar包引入到工程项目中. 二.搭建struts2环境 a.在web项目的web.xml中加入struts2的过滤器,以过滤用户的所有请求,该过滤器将请求交给对应的Action处理 . <filter> <filter-name>Struts2</filter-name> <filter-class> org.apache.struts2.dispatcher

Spring4学习笔记-Spring4整合Struts2

Person.java public class Person { private String username; public void setUsername(String username) { this.username = username; } } PersonService.java public class PersonService { public void save() { System.out.println("PersonService save...");

Flexigrid的使用(整合Struts2)

Flexigrid是一个jQuery表格插件 下载地址:http://download.csdn.net/detail/itmyhome/7613879 使用方法: 一.相关资源文件的引入 <link rel="stylesheet" type="text/css" href="css/flexigrid.css"> <script type="text/javascript" src="js/jq