Jetty+Struts+Spring Demo

原创 2016年08月30日 17:39:22

1、开发环境
windows7、MyEclipse8.6、jetty9.2

目录结构

jettyWeb
    src
        com.jasper.test
            action
                HelloWorld.java
        applicationContext.xml
        struts.xml
    jetty
        start
            Start.java
    lib
        javax.el-3.0.0.jar
        javax.servlet.jsp-2.3.2.jar
        javax.servlet.jsp-api-2.3.1.jar
        jetty-http-9.2.17.v20160517.jar
        jetty-io-9.2.17.v20160517.jar
        jetty-jsp-9.2.17.v20160517.jar
        jetty-jsp-jdt-2.3.3.jar
        jetty-security-9.2.17.v20160517.jar
        jetty-server-9.2.17.v20160517.jar
        jetty-servlet-9.2.17.v20160517.jar
        jetty-util-9.2.17.v20160517.jar
        jetty-webapp-9.2.17.v20160517.jar
        jetty-xml-9.2.17.v20160517.jar
        servlet-api-3.1.jar
    slib
       asm-3.3.jar
       asm-commons-3.3.jar
       asm-tree-3.3.jar
       commons-fileupload-1.3.2.jar
       commons-io-2.4.jar
       commons-lang3-3.4.jar
       freemarker-2.3.23.jar
       javassist-3.11.0.GA.jar
       log4j-api-2.5.jar
       ognl-3.1.10.jar
       struts2-core-2.5.2.jar
       struts2-spring-plugin-2.5.2.jar
    splib
       aopalliance-1.0.jar
       commons-logging-1.1.3.jar
       spring-aop-4.3.2.RELEASE.jar
       spring-beans-4.3.2.RELEASE.jar
       spring-context-4.3.2.RELEASE.jar
       spring-context-support-4.3.2.RELEASE.jar
       spring-core-4.3.2.RELEASE.jar
       spring-expression-4.3.2.RELEASE.jar
       spring-tx-4.3.2.RELEASE.jar
       spring-web-4.3.2.RELEASE.jar

    WebRoot
        WEB-INF
            web.xml
        index.jsp



web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>jettyWeb</display-name>

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Spring配置 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
<!--        <param-value>WEB-INF/applicationContext.xml</param-value>-->
        <param-value>classpath:/applicationContext.xml</param-value>
    </context-param>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>



applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

    <bean id="hello" class="com.jasper.test.action.HelloWorld" />
</beans>



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>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <!-- struts和spring整合,设置spring来管理Action Bean -->
    <constant name="struts.objectFactory" value="spring"/>

    <package name="default" namespace="/" extends="struts-default">
        <action name="helloWorld" class="hello" method="hello">
            <result name="success">/index.jsp</result>
        </action>
    </package>
</struts>


Start.java

package start;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;
public class Start {
    public static void main( String[] args ) {
        Server server = new Server(8082);

        WebAppContext context = new WebAppContext();
        context.setContextPath("/jettyWeb");
        context.setDescriptor("WebRoot/WEB-INF/web.xml");
        context.setResourceBase("WebRoot");
        context.setParentLoaderPriority(true);

        server.setHandler(context);

        try{
            server.join();
            server.start();
        } catch (InterruptedException e) {
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}



HelloWorld.java

package com.jasper.test.action;

public class HelloWorld {
    public String hello(){
        System.out.println("hello World !");
        return "success";
    }
}



index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!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=UTF-8" />
        <title>sssss</title>
    </head>
    <body>
        hello jetty !
    </body>
</html>

JAVA多线程demo

在 Java 程序中使用多线程要比在 C 或 C++ 中容易得多,这是因为 Java 编程语言提供了语言级的支持。本文通过简单的编程示例来说明 Java 程序中的多线程是多么直观。读完本文以后,用户应...
  • wanghuidhu
  • wanghuidhu
  • 2010年08月06日 11:11
  • 6147

使用maven创建web项目demo

对于初学者而言,第一次使用maven最大的感慨就是:很好的一款项目构建工具,管理jar包太方便了,不用需要什么jar包亲自去官网上下载,只要配置好私服和本地仓库,需要什么jar包直接引入,maven自...
  • prowo
  • prowo
  • 2016年03月20日 11:09
  • 1410

文件上传与下载Demo

上传、下载、列表展示,删除操作servletpublic class FileServlst extends HttpServlet{ @Override protected void...
  • u010512964
  • u010512964
  • 2017年06月01日 11:14
  • 666

JQuery AJAX Demo

由于浏览器安全方面的限制,大多数 "Ajax" 请求遵守同源策略;请求无法从不同的域、子域或协议成功地取回数据。如果在不同域下访问就会出现提示: No 'Access-Control-Allow-O...
  • messageloop3
  • messageloop3
  • 2014年08月08日 15:28
  • 5132

shell脚本基础demo

这里只是一些简单的shell脚本的基础例子,适合入门的朋友练练手 #! /bin/sh #测试echo、位置变量 ls echo hello echo "\$* is $*" echo "\$@ i...
  • u012886800
  • u012886800
  • 2017年01月05日 18:49
  • 749

一个demo教你如何一分钟学会用R

R语言其实是一种计算、作图的统计编程类的解释型脚本语言,常用于金融和统计领域。大多数人使用R就是因为它的统计功能,R的内部实现了很多经典的or时髦的统计技术。 与Matla区别真不大,应用领域重点不...
  • zhouhaiqing0905
  • zhouhaiqing0905
  • 2014年12月13日 16:31
  • 1441

java多线程简单demo

1.没有加上同步机制 import java.util.ArrayList; import java.util.List; import com.yingze.thread.ThreadDemo1....
  • u012954390
  • u012954390
  • 2016年05月03日 08:58
  • 2812

jqGrid DEMO

http://www.guriddo.net/demo/bootstrap/
  • white__cat
  • white__cat
  • 2017年02月17日 11:07
  • 608

PHP 文件上传Demo

  • hxmcnu
  • hxmcnu
  • 2014年09月24日 16:44
  • 1366

权限Demo

目的 现在我有一个管理商品、订单的页面。当用户点击某个超链接时,过滤器会检测该用户是否有权限! 需求分析 按照面向对象的思想,我们至少应该有权限(Privilege)和用...
  • qq_36503884
  • qq_36503884
  • 2017年05月25日 15:11
  • 535
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jetty+Struts+Spring Demo
举报原因:
原因补充:

(最多只允许输入30个字)