zoukankan      html  css  js  c++  java
  • spring整合strus2的Hellowworld

    比较笨,看了三遍才能理解敲对并正确运行:

    step:

    1、建立web工程( Dynamic Web project)一定要勾上创建web.xml

    2、导入jar包

    这个就比较坑了,我查了有半个小时才查出来,我为啥一运行就报错404找不到资源(后来发现是因为WEB-INF/lib下没有引入依赖jar)

    jar分两个位置引入:

    1)、正常位置引入lib:

    antlr-2.7.7.jar
    aopalliance-1.0.jar
    aspectjweaver-1.7.1.jar
    commons-fileupload-1.2.2.jar
    commons-logging-1.2.jar
    dom4j-1.6.1.jar
    druid-0.2.8.jar
    hamcrest-core-1.3.jar
    hibernate-commons-annotations-4.0.1.Final.jar
    hibernate-core-4.1.7.Final.jar
    hibernate-jpa-2.0-api-1.0.1.Final.jar
    jackson-annotations-2.1.0.jar
    jackson-core-2.1.0.jar
    jackson-core-asl-1.9.11.jar
    jackson-databind-2.1.0.jar
    jackson-mapper-asl-1.9.11.jar
    javassist-3.15.0-GA.jar
    javax.servlet-api-3.0.1.jar
    jboss-logging-3.1.0.GA.jar
    jboss-transaction-api_1.1_spec-1.0.0.Final.jar
    junit-4.12.jar
    log4j-1.2.17.jar
    mysql-connector-java-5.1.21.jar
    spring-aop-4.1.6.RELEASE.jar
    spring-beans-4.1.6.RELEASE.jar
    spring-context-4.1.6.RELEASE.jar
    spring-core-4.1.6.RELEASE.jar
    spring-expression-4.1.6.RELEASE.jar
    spring-jdbc-4.1.6.RELEASE.jar
    spring-orm-4.1.6.RELEASE.jar
    spring-tx-4.1.6.RELEASE.jar
    spring-web-4.1.6.RELEASE.jar
    spring-webmvc-4.1.6.RELEASE.jar

    2)、在WEB-INF/lib下加入jar

    com.springsource.net.sf.cglib-2.2.0.jar
    com.springsource.org.aopalliance-1.0.0.jar
    com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
    commons-logging-1.1.3.jar
    spring-aop-4.0.0.RELEASE.jar
    spring-aspects-4.0.0.RELEASE.jar
    spring-beans-4.0.0.RELEASE.jar
    spring-context-4.0.0.RELEASE.jar
    spring-core-4.0.0.RELEASE.jar
    spring-expression-4.0.0.RELEASE.jar
    spring-jdbc-4.0.0.RELEASE.jar
    spring-orm-4.0.0.RELEASE.jar
    spring-tx-4.0.0.RELEASE.jar
    spring-web-4.0.0.RELEASE.jar
    spring-webmvc-4.0.0.RELEASE.jar

    3、创建实体Hellow

    package com.strus2.entity;
    
    public class Hellow {
    
        private String str;
        public void setStr(String str) {
            this.str = str;
        }
        public void hellow(){
            System.out.println("hellow,"+str);
        }
    }

    创建bean文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean id="hellow" class="com.strus2.entity.Hellow">
            <property name="str" value="world!!"></property>
        </bean>
    
    </beans>

    4、创建监听类

    package com.strus2.listener;
    
    import javax.servlet.ServletContext;
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    import javax.servlet.annotation.WebListener;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    /**
     * Application Lifecycle Listener implementation class Struslistener
     *
     */
    @WebListener
    public class Struslistener implements ServletContextListener {
    
        /**
         * Default constructor. 
         */
        public Struslistener() {
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see ServletContextListener#contextInitialized(ServletContextEvent)
         */
        public void contextInitialized(ServletContextEvent arg0)  { 
             // TODO Auto-generated method stub
    //        获取Spring配置文件名称
            ServletContext servletContext = arg0.getServletContext();
            String config = servletContext.getInitParameter("configLocation");
    //        闯将ioc容器,将ioc容器放到ServletContext属性中
            ApplicationContext ctx=new ClassPathXmlApplicationContext(config);
            servletContext.setAttribute("ApplicationContext", ctx);
        }
    
        /**
         * @see ServletContextListener#contextDestroyed(ServletContextEvent)
         */
        public void contextDestroyed(ServletContextEvent arg0)  { 
             // TODO Auto-generated method stub
        }
        
    }

    5、创建测试Servlet

    只勾选doget复选框

    package com.strus2.test;
    
    import java.io.IOException;
    
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.context.ApplicationContext;
    
    import com.strus2.entity.Hellow;
    
    /**
     * Servlet implementation class TestServlet
     */
    @WebServlet("/TestServlet")
    public class TestServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
    //        从Servletcontent域对象中,获取ioc容器
            ServletContext servletContext = getServletContext();
            ApplicationContext ctx = (ApplicationContext) servletContext.getAttribute("ApplicationContext");
    //        获取所需要的bean
            Hellow hellow = ctx.getBean(Hellow.class);
            hellow.hellow();
            response.getWriter().append("Served at: ").append(request.getContextPath());
        }
    
    }

    创建inde.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
        <a href="TestServlet">TestServlet</a>
    </body>
    </html>

    6、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" id="WebApp_ID" version="3.0">
      <display-name>strus2-demo</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <context-param>
        <param-name>configLocation</param-name>
        <param-value>classpath:bean.xml</param-value>
      </context-param>
    <!--   <listener>
        <listener-class>com.strus2.listener.Struslistener</listener-class>
      </listener> -->
      
    </web-app>

    注意:运行测试,需要选中整个工程,run-onserver-选择Tomcat7.0 server,即可

     点击TestServlet

    效果如下:

  • 相关阅读:
    SMR磁盘学习1
    练笔-字符串,向量和数组6
    练笔-字符串,向量和数组5
    练笔-字符串,向量和数组4
    练笔-字符串,向量和数组3
    练笔--字符串,向量和数组2
    Redis系列-存储篇hash主要操作函数小结
    Redis系列-存储篇string主要操作函数小结
    Redis系列-远程连接redis并给redis加锁
    Pjax的使用
  • 原文地址:https://www.cnblogs.com/longronglang/p/6354069.html
Copyright © 2011-2022 走看看