(一),到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框架的第一个Web应用程序。Struts2是一个强大的、开源的MVC(Model-View-Controller)框架,它简化了Java Web开发,提高了代码的可...
本文档详细阐述了如何使用IntelliJ IDEA 2017版本来创建一个基于Struts2的简单用户登录界面项目。 首先,文档指出在开始建立Struts2项目之前,必须确保已经配置好Java开发工具包(JDK)、Tomcat服务器和IntelliJ IDEA...
IntelliJ IDEA 是一种功能强大且灵活的集成开发环境(IDE),它提供了一个友好的开发环境,帮助开发者快速构建、测试和调试应用程序。IntelliJ IDEA 支持多种编程语言,包括 Java、Groovy、Kotlin、Scala 等。 二、...
使用 IntelliJ IDEA 12 创建 Java Web 项目并用 Tomcat 发布是一个简单的过程。通过按照上述步骤进行配置和部署,开发者可以快速地开发和部署 Java Web 项目。 六、相关知识点 * IntelliJ IDEA 12 的使用 * Java ...
IntelliJ IDEA 9.0.4是该系列的一个版本,它提供了一系列增强的功能和改进,包括对Java、JavaScript、Groovy、Python等多种编程语言的支持,以及对Spring、Struts2等框架的深度集成。此外,它还优化了代码分析、调试...
IntelliJ IDEA是一款由JetBrains公司开发的Java集成开发环境(IDE),广泛应用于Java开发。本教程主要介绍IntelliJ IDEA的安装与配置、基本使用方法、常见问题解决技巧、以及与Maven、Git、Tomcat等工具的集成。 ...
文档不仅涵盖了安装配置、基础操作,还深入到了插件应用、快捷键操作、项目管理以及DevOps实践等多个方面,对于任何希望使用IntelliJ IDEA提高开发效率的Java开发者来说,这份指南都是一个宝贵的资源。
1. **新建项目**: 在IntelliJ IDEA 12中,选择创建新项目时,选择Maven作为项目类型,并输入项目的名称,随后点击Next继续。 2. **添加Web支持**: 创建好项目后,在项目根目录上右键点击,选择Add Framework Support...
本资源主要介绍了 IntelliJ IDEA 的使用教程,从基础到高级,涵盖了从设置工作空间到配置 Maven 等多个方面的知识点。 1. IDEA VS Eclipse 核心术语比较 在比较 IntelliJ IDEA 和 Eclipse 时,两者最大的区别在于...
【JavaWeb_SSH框架入门,IntelliJ IDEA搭建Struts2的HelloWorld】是一个适合初学者的教程,主要讲解如何在IntelliJ IDEA这个强大的Java集成开发环境中搭建一个基于Struts2框架的简单Web应用。SSH框架是Struts2、...
本文将详细介绍如何使用IntelliJ IDEA创建一个简单的Java工程,并且学会如何导入外部的Jar包。 首先,创建一个新的Java工程: 1. 打开IntelliJ IDEA,点击"Create New Project",在弹出的窗口中选择"Java",然后...
《使用JFormDesigner7.0.3在IntelliJ IDEA中构建Swing界面》 Swing界面设计一直是Java开发者面临的一项挑战,它涉及到大量的代码编写和布局管理。然而,随着JFormDesigner插件的出现,这一过程变得更为简单。本文将...
IntelliJ IDEA是一款由JetBrains公司开发的集成开发环境(IDE),专为Java语言设计,但也支持其他编程语言如Kotlin、Scala、Groovy等。它被广泛认为是目前最好的Java IDE之一。IntelliJ IDEA通过其智能代码助手、...
1. 打开IntelliJ IDEA,新建或打开一个项目,并选择“File”菜单下的“Project Structure”选项。 2. 在弹出的窗口中,选择“SDKs”标签页,然后点击“+”号,添加新下载的JavaSDK和AndroidSDK。 3. 配置项目的...
2018.2版本是IntelliJ IDEA的一个重要更新,引入了许多新特性、优化和修复了已知问题。对于中文用户来说,使用英文版可能会在理解和操作上遇到困扰,因此“IntelliJ IDEA 2018.2中文汉化包”应运而生,旨在为用户...
IntelliJ IDEA是一款深受开发者喜爱的Java集成开发环境(IDE),尤其在Java Web开发领域有着广泛的应用。本教程将深入探讨IntelliJ IDEA的各项功能,帮助你从新手快速成长为熟练的使用者。 首先,IntelliJ IDEA的...
在2019年,IntelliJ IDEA发布了版本2019.1.3,这个版本在前一版的基础上进行了诸多改进和增强,旨在提升开发者的编程体验。 标题中的"IntelliJ IDEA 2019汉化文件.rar"指的是为解决中文用户语言障碍问题而提供的...
IntelliJ IDEA是java编程语言开发的集成环境,不过官方是英文版的,这是一个汉化包,下载后放至IntelliJ IDEA安装目录的lib目录下就行,重新启动程序就是中文了。
IntelliJ IDEA是一款广受欢迎的Java集成开发环境(IDE),由JetBrains公司开发。它以其高效、智能的代码补全、强大的调试工具和优秀的代码分析功能而闻名。汉化包是为了方便中国用户使用,将原本英文界面的IntelliJ ...
IntelliJ Idea 快捷键,常见使用说明,都是以常使用的,工作中的总结,用到的一些配置,设置以记事本文件保存,