`

用intelliJ IDEA7.0 创建第一个Struts2的CRUD应用

阅读更多
(一),到struts官方网站下载struts-2.0.11.1-all.zip.URL:http://struts.apache.org/download.cgi#struts20111
(二),打开intelliJ IDEA新建空的Web Application
右键工程加入struts2的jar包:
commons-logging-1.0.4.jar,
freemarker-2.3.8.jar,
ognl-2.6.11.jar,
struts2-core-2.0.11.1.jar,
xwork-2.0.4.jar
(三),一切就绪,开始编码
首先配置web.xml,代码如下:
  
<filter>
 <filter-name>struts2</filter-name>
  <filter-class>
   org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
</filter>
<filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

(四),在工程的src下新建struts.xml,struts.properties.这两个文件分别对应struts2-core-2.0.11.1.jar下的struts-default.xml和default.properties当然你可以到struts2-core-2.0.11.1.jar下拷贝这两个文件并做适当的修改。struts.properties这里不做任何修改
struts.xml的代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
   <include file="struts-default.xml"/>
    <package name="default" extends="struts-default" namespace="/user">
       <action name="List" class="user.actions.UserAction" method="listUser">
          <result name="success">/user/listUser.jsp</result>
       </action>
       <action name="Edit" class="user.actions.UserAction" method="simpleUser">
          <result name="success">/user/editUser.jsp</result>
       </action>
        <action name="Delete" class="user.actions.UserAction" method="removeUser">
             <result name="success" type="redirect">List.action</result>
        </action>
        <action name="Store" class="user.actions.UserAction" method="storeUser">
             <result name="success" type="redirect">List.action</result>
        </action>
    </package>
</struts>

(五),新建Action代码如下:
package user.actions;

import com.opensymphony.xwork2.ActionSupport;

import java.util.Collection;

import user.model.User;
import user.dao.UserDao;

public class UserAction extends ActionSupport {
    private String userID;
    private String[] userIDs;
    private User user;
    private Collection<User> users;
    
    private UserDao userDao = UserDao.getInstance();
    
    public UserAction(){}

    public String execute() throws Exception {
        return super.execute();
    }

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String[] getUserIDs() {
        return userIDs;
    }

    public void setUserIDs(String[] userIDs) {
        this.userIDs = userIDs;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public Collection<User> getUsers() {
        return users;
    }

    public void setUsers(Collection<User> users) {
        this.users = users;
    }

    public UserDao getUserDao() {
        return userDao;
    }

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }
    //==============================
    //all users
    public String listUser(){
        users = userDao.getUsers();
        return SUCCESS;
    }
    //simple user
    public String simpleUser(){
        user = userDao.getUser(userID);
        return SUCCESS;
    }
    //store user
    public String storeUser(){
        userDao.storeUser(user);
        return SUCCESS;
    }
   //delete users
    public String removeUser(){
        if(userID != null)
           userDao.deleteUser(userID);
        else
           userDao.removeUsers(userIDs);
        return SUCCESS;
    }
}

(六),Dao这里简单起见并没有连接数据库,而是用ConcurrentHashMap作为数据源
package user.dao;

import user.model.User;

import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.Collection;

/**
 * Created by IntelliJ IDEA.
 * User: ibm
 * Date: 2008-5-27
 * Time: 14:23:17
 * To change this template use File | Settings | File Templates.
 */
public class UserDao {

    private static ConcurrentMap<String, User> dataMap;
    private static UserDao userDao = new UserDao();
    
    static{
        dataMap = new ConcurrentHashMap<String,User>();
        dataMap.put("1000",new User("1000","jim","123","beijing"));
        dataMap.put("1001",new User("1001","steven","234","shanghai"));
        dataMap.put("1002",new User("1002","oscar","123","shanghai"));
    }
    
    public UserDao(){}

    public static UserDao getInstance(){
        return userDao;
    }
    public User getUser(String userID){
        return dataMap.get(userID);
    }
    public Collection<User> getUsers(){
        return dataMap.values();
    }
    public void removeUsers(String[] userid){
         for(String uid:userid){
             dataMap.remove(uid);
         }
    }
    public void deleteUser(String userID){
          dataMap.remove(userID);
    }
    public void storeUser(User user){
        dataMap.put(user.getUserID(),user);
    }
}

(七),Model数据Bean
package user.model;

/**
 * Created by IntelliJ IDEA.
 * User: ibm
 * Date: 2008-5-27
 * Time: 14:02:23
 * To change this template use File | Settings | File Templates.
 */
public class User {
    private String userID;
    private String userName;
    private String passWord;
    private String address;

    public User(){}
    public User(String userID,String userName,String passWord,String address){
        this.userID = userID;
        this.passWord = passWord;
        this.userName = userName;
        this.address = address;
    }
    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

(八),页面显示listUser.jsp
<s:form id="formSubmit" action="Delete" theme="simple">
  <s:iterator value="users">
    <tr>
      <td>
      <input type="checkbox" name="userIDs" value="<s:property    value='userID'/>"/>
      </td>
      <td><s:property value="userID"/></td>
      <td><s:property value="userName"/></td>
      <td><s:property value="passWord"/></td>
      <td><s:property value="address"/></td>
      <td>
      <s:url id="edit" action="Edit" namespace="/user"><s:param   name="userID" value="userID"/></s:url><a href="${edit}">EDIT</a>
      </td>
      <td>
       <s:url id="delete" action="Delete" namespace="/user">
          <s:param name="userID" value="userID"/></s:url><a href="${delete}">DELETE</a>
       </td>            
     </tr>
 </s:iterator>
<s:a href="javaScript:sunmit();">Delete!</s:a>
<s:a href="editUser.jsp">Add user!</s:a>
</s:form>

(九),编辑添加页面editUser.jsp
     <s:if test="null == user">
          ADD USER!
      </s:if>
      <s:else>
          EDIT USER!
      </s:else>
      <s:form action="Store" name="/user">
          <s:textfield name="user.userID" label="USERID:"/>
          <s:textfield name="user.userName" label="USERNAME:"/>
          <s:textfield name="user.passWord" label="PASSWORD:"/>
          <s:textfield name="user.address" label="ADDRESS:"/>
          <s:submit value="submit"/>
      </s:form>

到此一个简单的入门struts2应用就算完成了。由于很简单这里并没有加入struts2的验证框架。
  • 描述: 界面显示
  • 大小: 504.2 KB
  • 描述: 目录结构
  • 大小: 526.1 KB
分享到:
评论

相关推荐

    IntelliJ IDEA 2017.3创建第一个Struts2项目

    在本文中,我们将深入探讨如何使用IntelliJ IDEA 2017.3版本来创建一个基于Struts2框架的第一个Web应用程序。Struts2是一个强大的、开源的MVC(Model-View-Controller)框架,它简化了Java Web开发,提高了代码的可...

    IntelliJ IDEA 2017建立简单的struts 2

    本文档详细阐述了如何使用IntelliJ IDEA 2017版本来创建一个基于Struts2的简单用户登录界面项目。 首先,文档指出在开始建立Struts2项目之前,必须确保已经配置好Java开发工具包(JDK)、Tomcat服务器和IntelliJ IDEA...

    IntellijIdea开发工具详细使用文档.pdf

    IntelliJ IDEA 是一种功能强大且灵活的集成开发环境(IDE),它提供了一个友好的开发环境,帮助开发者快速构建、测试和调试应用程序。IntelliJ IDEA 支持多种编程语言,包括 Java、Groovy、Kotlin、Scala 等。 二、...

    IntelliJ IDEA 12创建Java Web项目并用Tomcat发布

    使用 IntelliJ IDEA 12 创建 Java Web 项目并用 Tomcat 发布是一个简单的过程。通过按照上述步骤进行配置和部署,开发者可以快速地开发和部署 Java Web 项目。 六、相关知识点 * IntelliJ IDEA 12 的使用 * Java ...

    Intellij Idea开发工具详细使用文档.pdf

    IntelliJ IDEA 9.0.4是该系列的一个版本,它提供了一系列增强的功能和改进,包括对Java、JavaScript、Groovy、Python等多种编程语言的支持,以及对Spring、Struts2等框架的深度集成。此外,它还优化了代码分析、调试...

    Intellij IDEA 入门教程.pdf (高清文字版)

    IntelliJ IDEA是一款由JetBrains公司开发的Java集成开发环境(IDE),广泛应用于Java开发。本教程主要介绍IntelliJ IDEA的安装与配置、基本使用方法、常见问题解决技巧、以及与Maven、Git、Tomcat等工具的集成。 ...

    IntelliJ IDEA 中文指南.pdf

    文档不仅涵盖了安装配置、基础操作,还深入到了插件应用、快捷键操作、项目管理以及DevOps实践等多个方面,对于任何希望使用IntelliJ IDEA提高开发效率的Java开发者来说,这份指南都是一个宝贵的资源。

    IntelliJ IDEA 12创建Maven管理的Java Web项目

    1. **新建项目**: 在IntelliJ IDEA 12中,选择创建新项目时,选择Maven作为项目类型,并输入项目的名称,随后点击Next继续。 2. **添加Web支持**: 创建好项目后,在项目根目录上右键点击,选择Add Framework Support...

    IntelliJ IDEA使用教程从入门到上瘾(2019图文版)

    本资源主要介绍了 IntelliJ IDEA 的使用教程,从基础到高级,涵盖了从设置工作空间到配置 Maven 等多个方面的知识点。 1. IDEA VS Eclipse 核心术语比较 在比较 IntelliJ IDEA 和 Eclipse 时,两者最大的区别在于...

    JavaWeb_SSH框架入门,IntelliJ idea搭建Struts2的helloWorld

    【JavaWeb_SSH框架入门,IntelliJ IDEA搭建Struts2的HelloWorld】是一个适合初学者的教程,主要讲解如何在IntelliJ IDEA这个强大的Java集成开发环境中搭建一个基于Struts2框架的简单Web应用。SSH框架是Struts2、...

    通过 IntelliJ IDEA 创建一个简易的Java工程并导入Jar包

    本文将详细介绍如何使用IntelliJ IDEA创建一个简单的Java工程,并且学会如何导入外部的Jar包。 首先,创建一个新的Java工程: 1. 打开IntelliJ IDEA,点击"Create New Project",在弹出的窗口中选择"Java",然后...

    JFormDesigner7.0.3intellijidea.zip

    《使用JFormDesigner7.0.3在IntelliJ IDEA中构建Swing界面》 Swing界面设计一直是Java开发者面临的一项挑战,它涉及到大量的代码编写和布局管理。然而,随着JFormDesigner插件的出现,这一过程变得更为简单。本文将...

    IntelliJ IDEA使用教程

    IntelliJ IDEA是一款由JetBrains公司开发的集成开发环境(IDE),专为Java语言设计,但也支持其他编程语言如Kotlin、Scala、Groovy等。它被广泛认为是目前最好的Java IDE之一。IntelliJ IDEA通过其智能代码助手、...

    IntelliJ Idea 使用说明.txt

    IntelliJ Idea 快捷键,常见使用说明,都是以常使用的,工作中的总结,用到的一些配置,设置以记事本文件保存,

    使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

    1. 打开IntelliJ IDEA,新建或打开一个项目,并选择“File”菜单下的“Project Structure”选项。 2. 在弹出的窗口中,选择“SDKs”标签页,然后点击“+”号,添加新下载的JavaSDK和AndroidSDK。 3. 配置项目的...

    IntelliJ IDEA2018.2中文汉化包

    2018.2版本是IntelliJ IDEA的一个重要更新,引入了许多新特性、优化和修复了已知问题。对于中文用户来说,使用英文版可能会在理解和操作上遇到困扰,因此“IntelliJ IDEA 2018.2中文汉化包”应运而生,旨在为用户...

    Intellij IDEA教程

    IntelliJ IDEA是一款深受开发者喜爱的Java集成开发环境(IDE),尤其在Java Web开发领域有着广泛的应用。本教程将深入探讨IntelliJ IDEA的各项功能,帮助你从新手快速成长为熟练的使用者。 首先,IntelliJ IDEA的...

    IntelliJ IDEA 2019汉化文件.rar

    在2019年,IntelliJ IDEA发布了版本2019.1.3,这个版本在前一版的基础上进行了诸多改进和增强,旨在提升开发者的编程体验。 标题中的"IntelliJ IDEA 2019汉化文件.rar"指的是为解决中文用户语言障碍问题而提供的...

    IntelliJIDEA汉化包

    IntelliJ IDEA是一款广受欢迎的Java集成开发环境(IDE),由JetBrains公司开发。它以其高效、智能的代码补全、强大的调试工具和优秀的代码分析功能而闻名。汉化包是为了方便中国用户使用,将原本英文界面的IntelliJ ...

    intellij idea 中文语言包resources_zh_CN_IntelliJIDEA_2019.3_r1.jar

    IntelliJ IDEA是java编程语言开发的集成环境,不过官方是英文版的,这是一个汉化包,下载后放至IntelliJ IDEA安装目录的lib目录下就行,重新启动程序就是中文了。

Global site tag (gtag.js) - Google Analytics