`
skzr.org
  • 浏览: 366015 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

[web工程]集成struts2 mvc

    博客分类:
  • J2EE
阅读更多

 

返回:[web工程]Struts2+Spring3.1+Hibernate3.6的集成

上一步:[web工程]创建web工程

下一步:[web工程]集成spring

集成struts2 mvc

 

  1. 添加jee5(demo中的third-lib/jee5目录中)的jar到java build path中
  2. 复制struts2的jar包到lib目录,并添加这些jar到java build path中
    struts2(下载)的包依赖关系如:
    =============================================
    struts2 lib: v2.2.3
    	struts2-core-2.2.3.jar
    	xwork-core-2.2.3.jar
    	ognl-3.0.1.jar
    	
    	depend on libs:
    		commons-io-2.0.1.jar
    		commons-lang-2.5.jar
    		freemarker-2.3.16
    =============================================
     
    最终java build path如图:


     
  3. 在目录WEB-INF/jsp中创建登录页面login.jsp和welcome.jsp


    login.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<base href="<%=basePath%>">
    		<title>系统登录:</title>
    		<meta http-equiv="pragma" content="no-cache">
    		<meta http-equiv="cache-control" content="no-cache">
    		<meta http-equiv="expires" content="0">
    		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    		<meta http-equiv="description" content="This is my page">
    	</head>
    
    	<body>
    		<form action="loginAction!check.do" method="post">
    			<table align="center">
    					<tr><td>用户名:</td><td><input name="userName" value="${userName }"></td></tr>
    					<tr><td>密&nbsp;码:</td><td><input name="password" type="password"></td></tr>
    					<tr><td><input type="submit" value="登录"></td><td><input type="reset" value="重置"></td></tr>
    			</table>
    		</form>
    	</body>
    </html>
    
     
    welcome.jsp 
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<base href="<%=basePath%>">
    		<title>系统首页</title>
    		<meta http-equiv="pragma" content="no-cache">
    		<meta http-equiv="cache-control" content="no-cache">
    		<meta http-equiv="expires" content="0">
    		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	</head>
    
    	<body>
    		<center>
    			<h1>欢迎您:${userName }!</h1>
    		</center>
    	</body>
    </html>
    
     
  4. 创建登录验证action, LoginAction
    /**
     * Copyright (c) 2010-2020 by wasion.com
     * All rights reserved.
     * @author <a href="mailto:skzr.org@gmail.com">skzr.org</a>
     * @date 2011-5-19 下午10:20:57
     */
    package org.skzr.demo.action;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    /**
     * 登录检测
     * @author <a href="mailto:skzr.org@gmail.com">skzr.org</a>
     * @version 1.0.0
     * @since JDK1.6
     */
    public class LoginAction extends ActionSupport {
    	private static final long serialVersionUID = 1L;
    	/** 用户名 */
    	private String userName;
    	/** 密码 */
    	private String password;
    	
    	/**
    	 * @return {@link #userName}
    	 */
    	public String getUserName() {
    		return userName;
    	}
    	/**
    	 * @param userName {@link #userName}
    	 */
    	public void setUserName(String userName) {
    		this.userName = userName;
    	}
    	/**
    	 * @return {@link #password}
    	 */
    	public String getPassword() {
    		return password;
    	}
    	/**
    	 * @param password {@link #password}
    	 */
    	public void setPassword(String password) {
    		this.password = password;
    	}
    
    	/**
    	 * 登录验证
    	 * @return 验证后页面视图
    	 */
    	public String check() {
    		return "admin".equals(userName) ? "welcome" : "success";
    	}
    }
    
     
  5. 修改web.xml文件,增加struts2拦截器配置
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    	<description>我爱编程</description>
    	<display-name>我爱编程</display-name>
    	
    	<filter>
    		<filter-name>struts2</filter-name>
    		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    		<init-param>
    			<param-name>config</param-name>
    			<param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value>
    		</init-param>
    	</filter>
    	<filter-mapping>
    		<filter-name>struts2</filter-name>
    		<url-pattern>*.do</url-pattern>
    	</filter-mapping>
    	
    	<welcome-file-list>
    		<welcome-file>index.jsp</welcome-file>
    	</welcome-file-list>
    </web-app>
    
     
  6. 创建struts.xml文件,并配置LoginAction
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
    <struts>
    	<package name="demo" extends="struts-default" namespace="/">
    		<action name="loginAction" class="org.skzr.demo.action.LoginAction">
    			<result>/WEB-INF/jsp/login.jsp</result>
    			<result name="welcome">/WEB-INF/jsp/welcome.jsp</result>
    		</action>
    	</package>
    </struts>    
    
     struts.properties文件配置为:
    ##这个根本不能够使用 struts.configuration.files=struts-default.xml,struts-plugin.xml,struts.xml,cfg/struts/struts-cems.xml
    #struts.i18n.encoding=UTF-8
    #指定Struts2处于开发状态
    struts.devMode=false
    struts.i18n.reload=false
    #指定当Struts2配置文件改变后,web框架是否重新加载Struts2的配置文件
    struts.configuration.xml.reload=false
    #是不是允许actionName!MethodName.action的调用形式
    #struts.enable.DynamicMethodInvocation=true
    #struts.custom.i18n.resources=globalMessages
    #配置服务器运行的端口号(所有生成的URL都会被正确创建)
    #struts.url.http.port = 8080
    #struts.serve.static.browserCache=false
    #struts.custom.i18n.resources=i18n
    #struts.ui.templateDir=/WEB-INF/template
    ### struts标签使用哪种默认样式
    #struts.ui.theme=simple
    
    ### struts标签的模板所在路径
    #struts.ui.templateDir=template
    
    ## struts拦截的名称,防止出现问题
    struts.action.extension=do
    #struts.objectFactory=spring
    
    #struts.multipart.saveDir=temp/
    #struts.multipart.maxSize=10485760
    #struts.enable.SlashesInActionNames=true
     
  7. 运行主页看看效果
    1. 登录页面:


       
    2. 登录成功后:


       下载demo包
  • 大小: 42.3 KB
  • 大小: 7.4 KB
  • 大小: 12.8 KB
  • 大小: 11.8 KB
分享到:
评论

相关推荐

    Eclipse WEB项目集成Struts2的过程及问题解决

    配置web.xml是集成Struts2的关键步骤。在web.xml中,你需要添加Struts2的过滤器以拦截所有的HTTP请求。以下是一个基本的配置示例: ```xml &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher....

    spring-webmvc-struts.jar

    `spring-webmvc-struts.jar`是Spring框架为了与Struts框架集成而设计的一个模块,它提供了对Struts应用的Spring支持,使得开发者可以在Struts应用中利用Spring的特性,如依赖注入(DI)、面向切面编程(AOP)等。...

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...

    精通Struts:基于MVC的JavaWeb设计与开发(孙卫琴)

    9. **Struts与其他技术的集成**:Struts可以与Hibernate、iBATIS等持久层框架集成,实现更高效的数据访问;也可以与Spring框架配合,实现更灵活的依赖注入。 10. **最佳实践与性能优化**:书中会介绍一些开发和部署...

    spring-webmvc-struts.jar aspectjweaver.jar

    首先,`spring-webmvc-struts.jar`是Spring框架的一个扩展,它提供了与Struts框架的集成。Spring Web MVC是Spring框架的一部分,主要用于处理Web应用程序的模型-视图-控制器(MVC)架构。Struts则是Apache组织维护的...

    电子书-精通Struts基于MVC的WEB设计与开发.rar

    除此之外,Struts2是Struts的后续版本,它引入了更多现代Web开发的最佳实践,如拦截器栈、OGNL表达式语言等。尽管本书可能主要关注Struts1,但理解这两个版本的异同对于全面掌握MVC框架至关重要。 总之,《精通...

    spring.jar spring-webmvc-struts.jar spring-webmvc.jar

    "spring-webmvc-struts"可能指的是Spring与Struts的集成包,Struts是另一个流行的Java Web MVC框架。这个库可能包含了一些桥接代码,帮助开发者将Spring的IoC(Inversion of Control,控制反转)和AOP功能与Struts的...

    基于struts2 mvc框架的练习源程序Eclipse+tomcat+SQL2005

    在这个"基于Struts2 MVC框架的练习源程序"中,开发者可以学习到如何在Eclipse集成开发环境中配置和运行一个基于Struts2的应用,同时配合Tomcat服务器和SQL Server 2005数据库进行数据管理。 首先,我们需要了解...

    Struts2 MVC_Spring3_MyBatis整合

    1. **Struts2**:Struts2 是一个基于 Model-View-Controller (MVC) 设计模式的开源框架,用于构建可维护性高、结构清晰的 Web 应用。它提供了强大的动作调度、拦截器机制、结果映射等功能,使得请求处理更加灵活。...

    基于MVC struts框架开发的小型WEB

    2. Struts框架:Struts是Apache软件基金会下的一个开源项目,它为Java EE平台提供了一种实现MVC模式的方式。Struts提供了丰富的组件,如Action、ActionForm、ActionForward等,简化了Web应用的开发。 3. Action类:...

    精通Struts基于MVC的Java Web设计与开发

    《精通Struts基于MVC的Java Web设计与开发》是一本深入探讨如何使用Struts框架进行Java Web应用程序开发的专业书籍。Struts是Apache软件基金会的一个开源项目,它为Java EE平台提供了一种强大的模型-视图-控制器...

    ACCP 5.0 Y2 MVC和Struts2本书的选择题答案

    在IT行业中,MVC(Model-View-Controller)和Struts2是两种广泛使用的Web应用程序开发框架,尤其在Java平台上。ACCP(Advanced Certified Computer Professional)5.0 Y2是某培训机构的一个课程版本,该课程可能涵盖...

    基于struts框架mvc模式应用的实现

    本文主要探讨Struts框架在MVC(Model-View-Controller)模式下的应用实现,旨在为读者提供一个深入理解Struts框架及其在Web开发中作用的机会。通过详细解析MVC模式的基本原理以及Struts框架的核心组成部分,本文旨在...

    精通Struts基于MVC的Java Web设计与开发.pdf

    标题和描述均提到了“精通Struts基于MVC的Java Web设计与开发”,这表明了文档的主要内容将围绕Struts框架及其在Java Web应用中的应用展开。Struts是一个开源的Web应用框架,属于MVC(Model-View-Controller)架构...

    自定义类似struts的mvc框架

    在IT行业中,构建一个自定义的类似于Struts的MVC框架是一项挑战性的任务,它涉及到对Web开发模式的深入理解,以及对Java、JSP、XML解析等技术的熟练运用。Struts作为Java EE领域中著名的MVC框架,其设计思想和实现...

Global site tag (gtag.js) - Google Analytics