在前两篇博客中,使用Maven构建了Web项目,在这篇博客中写一下,怎样构建一个简单的Struts2项目。

在准备过程中发现,要使用好Maven,个人觉得要好好利用这两个网站:

http://mvnrepository.com/

http://search.maven.org/

由于自己对Maven的理解不是非常深,所以学习的时候遇到很多简单的问题都没法解决,走了很多弯路

1. 新建一个基本的Web项目

这和前面讲的是一样的,可以参考前面的博客

2. 添加Struts2依赖

这里主需要在pom.xml中添加一个struts-core的依赖即可:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.deppon.demo</groupId>
  5. <artifactId>test02</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>test02 Maven Webapp</name>
  9. <url>http://maven.apache.org</url>
  10. <!-- 属性配置 -->
  11. <properties>
  12. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  13. </properties>
  14. <dependencies>
  15. <!-- 添加JUnit -->
  16. <dependency>
  17. <groupId>junit</groupId>
  18. <artifactId>junit</artifactId>
  19. <version>3.8.1</version>
  20. <scope>test</scope>
  21. </dependency>
  22. <!-- Struts2 依赖 -->
  23. <dependency>
  24. <groupId>org.apache.struts</groupId>
  25. <artifactId>struts2-core</artifactId>
  26. <version>2.3.1</version>
  27. </dependency>
  28. </dependencies>
  29. <build>
  30. <finalName>test02</finalName>
  31. </build>
  32. </project>

之后,Maven会自动从网上下载struts2需要的其他依赖包,可以看一下这里:

是不是都有了,有的时候Maven可能会报错,由于网络的原因(个人认为大多是网络问题,导致下载依赖包出错),可以从上面提到的两个网站手动下载

3. 新建一个Action

  1. package com.deppon.test02.action;
  2. import com.opensymphony.xwork2.ActionSupport;
  3. public class UserAction extends ActionSupport {
  4. private static final long serialVersionUID = -1417237614181805435L;
  5. private String name;
  6. private String password;
  7. public String getName() {
  8. return name;
  9. }
  10. public void setName(String name) {
  11. this.name = name;
  12. }
  13. public String getPassword() {
  14. return password;
  15. }
  16. public void setPassword(String password) {
  17. this.password = password;
  18. }
  19. /**
  20. * 跳转到登录界面
  21. * @return
  22. */
  23. public String login_input() {
  24. return SUCCESS;
  25. }
  26. /**
  27. * 登录
  28. * @return
  29. */
  30. public String login() {
  31. System.out.println("name->" + name);
  32. System.out.println("password->" + password);
  33. return SUCCESS;
  34. }
  35. }

struts.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5. <struts>
  6. <constant name="struts.i18n.encoding" value="utf-8"></constant>
  7. <constant name="struts.multipart.maxSize" value="20971520"/>
  8. <constant name="struts.devMode" value="true" />
  9. <package name="p_user" namespace="/" extends="struts-default">
  10. <action name="login_input" class="com.deppon.test02.action.UserAction" method="login_input">
  11. <result name="success">
  12. /login.jsp
  13. </result>
  14. </action>
  15. <action name="login" class="com.deppon.test02.action.UserAction" method="login">
  16. <result name="success">
  17. /login_success.jsp
  18. </result>
  19. </action>
  20. </package>
  21. </struts>

web.xml

  1. <!DOCTYPE web-app PUBLIC
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
  4. <web-app>
  5. <filter>
  6. <filter-name>struts2</filter-name>
  7. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  8. </filter>
  9. <filter-mapping>
  10. <filter-name>struts2</filter-name>
  11. <url-pattern>/*</url-pattern>
  12. </filter-mapping>
  13. </web-app>

index.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>主页</title>
  8. </head>
  9. <body>
  10. <a href="login_input">去登陆</a>
  11. </body>
  12. </html>

login.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>登录界面</title>
  8. </head>
  9. <body>
  10. <form action="login" method="post">
  11. name:<input type="text" name="name" />
  12. password:<input type="password" name="password" />
  13. <input type="submit" value="登录" />
  14. </form>
  15. </body>
  16. </html>

login_success.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib prefix="s" uri="/struts-tags" %>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>登录成功</title>
  9. </head>
  10. <body>
  11. <s:form action="login" namespace="/" method="post">
  12. <s:textfield name="name" label="name"></s:textfield>
  13. <s:password name="password" label="password"></s:password>
  14. <s:submit value="Login"></s:submit>
  15. </s:form>
  16. </body>
  17. </html>

项目结构如下图所示:

Maven的学习资料收集--(五)使用Maven构建Struts2项目的更多相关文章

  1. Maven的学习资料收集--(九) 构建SSH项目以及专栏maven

    在这里整合一下,使用Maven构建一个SSH项目 1.新建一个Web项目 可以参照前面的博客 2.添加依赖,修改pom.xml <project xmlns="http://maven ...

  2. Maven的学习资料收集--(八) 构建MyBatis项目

    在这里,写一下,怎么使用Maven构建MyBatis项目. 1. 新建一个Web项目 可以参考前面的博客 2. 修改pom.xml,添加MyBatis依赖 <project xmlns=&quo ...

  3. Maven的学习资料收集--(七) 构建Spring项目

    在这里,使用Maven构建一个Spring项目 构建单独项目的话,其实都差不多 1. 新建一个Web项目 参考之前的博客 2.修改 pom.xml,添加Spring依赖 <project xml ...

  4. Maven的学习资料收集--(六) 构建Hibernate项目

    前面我们使用Maven构建了Struts2项目,这里我们来试一下Hibernate项目: 这里的例子,大体框架应该是正确的,但是,对于Maven的很多约定都没有掌握,估计包的命名都不是非常好,等以后, ...

  5. Maven的学习资料收集--(三)使用Maven构建Web项目

    新建Maven项目 File - New - Other 选择Maven Project 单击Next 保持默认即可单击Next 选择Archetype为 web app单击Next 输入一些必要信息 ...

  6. Maven的学习资料收集--(四)使用Maven构建Web项目-测试

    2014-08-04 23:21 2人阅读 评论(0) 收藏 编辑 删除   目录(?)[+]   [-] 在srcmainjava下新建一个Servlet 修改webxml 新建JSP 测试   在 ...

  7. Maven的学习资料收集--(一)环境搭建

    这几天在做项目的时候用到了maven,但是自己没有从来没有接触过,所以咋网上找资料,终于找到了一下的资料,这个是别人总结的,我只是转载过来积累.请尊重原创. 官网地址:http://maven.apa ...

  8. Maven的学习资料收集--(十)Myeclipse下创建Maven的Web项目

    先要在MyEclipse中对Maven进行设置: 到此Maven对MyEclipse的支持设置完毕.   下面我们在MyEclipse中创建一个Maven标准的Web工程: New --> We ...

  9. Maven的学习资料收集--(二)安装m2eclipse插件

    在Eclipse中可以安装Maven插件,可以更方便的使用: 官网地址:http://www.eclipse.org/m2e/ 可以在线安装或者离线下载,之前在线安装总是失败,可能是网速的原因,找到了 ...

随机推荐

  1. 通信端口Com口被占用的原因分析

    目前在调试地磅读取程序,近一段时间无法读取,排查原因发现是com1端口被占用. 从网上找了无数个文章,最终得到一条有价值的消息, 原因如下: com1端口不能读取电子地磅的数据了,重启之后发现 有一个 ...

  2. Bluetooth Functions

    The functions in this section are used for managing Bluetooth devices and services. Bluetooth is als ...

  3. filter与servlet的比较

    filter与servlet的比较   主要从如下四个方面介绍他们之间的区别:                1.概念.                2.生命周期.                3 ...

  4. IOS 通讯录 右侧的字母栏

    http://blog.csdn.net/nicholas6lee/article/details/7633708 Android实现通讯录排序的方式,可借鉴.

  5. Python开发【第三篇】:分支循环

    1. if 条件语句   语法: if 条件: 代码块 # 条件为真执行 else: # else 可选 代码块 # 条件为假执行   示例: n = int(input('请输入一个数字:')) i ...

  6. ASP.NET MVC 小牛之旅4:ASP.NET MVC的运行生命周期

    ASP.NET MVC的运行生命周期大致分成三大过程:(1)网址路由对比. (2)运行Controller与Action. (3)运行View并回传结果. 4.1网址路由对比 当iis收到http请求 ...

  7. Redis学习笔记(一):基础数据结构

    一. 引言 <Redis设计与实现>一书主要分为四个部分,其中第一个部分主要讲的是Redis的底层数据结构与对象的相关知识. Redis是一种基于C语言编写的非关系型数据库,它的五种基本对 ...

  8. [Java]构造函数内部多态的行为所引起的灾难

    构造函数内部的多态行为所产生的意想不到的结果 一.Java版本 1 package com.company; 2 import static com.brianyi.util.Print.*; 3 4 ...

  9. MongoDB自定义存储数据库文件位置

    mongodb下载地址:https://www.mongodb.com/download-center#community 本机安装目录如下: 配置步骤如下: 1.新建文件夹data(文件夹内再建一个 ...

  10. elasticsearch 基本介绍

    1. Elasticsearch的适用场景: (1)类似百度百科的全文检索,高亮,搜索推荐(2)新闻类的搜索,用户行为日志(点击,浏览,收藏,评论)+社交网络数据(对某某新闻的相关看法),数据分析,给 ...