当前位置: 首页 > news >正文

创建一个Struts2项目maven 方式

创建一个Struts2项目maven

  1. 使用eclipse 创建maven项目(webapp)

右键 new>othrer

图片描述

next

图片描述

选择Artifact Id :maven-archetype-webapp 那一项

图片描述

GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。

ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。 一般GroupID就是填com.leafive.test这样子。
图片描述

  1. 在pom中加入sturts2依赖

添加struts2依赖到的pom.xml 此处使用的是 版本是3.8.1,保存文件后 maven 会自动下载依赖的相关包

图片描述

pom.xml内容:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.str2</groupId>
    <artifactId>struts</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>struts Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.8</version>
        </dependency>

        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.12.1.GA</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>struts</finalName>
    </build>
</project>

3.在src/main下创建 文件结构:java/action/user.java

userAction.java 内容

package com.struts.action;

public class UserAction   {
    private String name;
    private String password;
    
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String execute() {
        return "success";
    }
    public String user_login_go() {
        return "success";
    }
    public String login_go() {
        return "success";
    }
    public String user_login() {
        return "success";
    }
    public String login() {
        return "success";
    }
}
  1. 在resource包下 创建struts2文件

<?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>
    <package name="user" namespace="/"  extends="struts-default">
        <action name="user_login_go" class="com.struts.action.UserAction" method="user_login">
            <result name="success">/login.jsp</result>
        </action>
        <action name="login_go" class="com.struts.action.UserAction" method="login">
            <result name="success">/welcome.jsp</result>
        </action>
    </package>
</struts>
  1. 配置 src/main/webapp/WEB-INF/web.xml

web.xml 内容

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <filter>
  <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
      
  </filter>
  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>
  1. 在 src/main/webapp/WEB-INF/ 下创建一个空的文件夹 classes

  2. 在 src/main/webapp/ 创建文件inde.jsp

index.jsp

<%@ page 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>
<body>
    <h2>Struts2-Demo</h2>
    <a href="user_login_go">去登录界面</a>
</body>
</html>
  1. 在 src/main/webapp/创建文件 login.jsp

login.jsp

<%@ page 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>struts2-Demo-登录界面</title>
</head>
<body>
    <p>struts2-Demo-登录界面</p>
    <form action="login_go" method="post">
        name:<input type="text" name="name" />
        password<input type="password" name="password" />
        <input type="submit" value="登录" />
    </form>
</body>
</html>
  1. 在 src/main/webapp/ 创建文件 welcome.jsp

welcome.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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>Struts2-Demo-欢迎页面</title>
</head>
<body>
    Welcome:
    <br>
    <h1>name=<s:property value="name" /></h1>
    <h1>password=<s:property value="password" /></h1>    
    <h1>重新登录</h1>
    <s:form action="login_go" namespace="/" method="post">
        <s:textfield name="name" label="name"></s:textfield>  
        <s:password name="password" label="password"></s:password>  
              
        <s:submit value="Login"></s:submit>
    </s:form>
</body>
</html>
  1. 在项目上右键 Build path> configure Build path 配置项目相关 变量

source 选择编译的目录 我们选择 java 和resources 这两个目录

图片描述

Libraries 添加

jre7:Add Librars> Jre System library

Tomcat7 :Add Librars> Server Runtime> Apache Tomcat V7.0 前提你的eclipse已经配置了Tomcat

图片描述

  1. 在项目上右键 run as> run on serve 选择Tomcat7 启动Tomcat 在浏览器访问:localhost:8080/struts2/

图片描述

  1. 出现错误的原因:

  1. tomcat 是否配置成功

  2. 创建 java目录 和classes 目录的路径是否正确

  3. tomcat 访问路径是否正确

  4. pom.xml 配置后是否自动下载了struts2的包

相关文章:

  • mysql 如何把查询到的结果插入到另一个表中
  • How to convert XML String into XML document
  • OA系统:OA的易用性是OA软件商立足根本
  • 寻找适合并行编程模型的中间件
  • 智慧城市:大连社会治理创新“中山模式”
  • 转型太慢药丸?西数欲举债180亿美元竞购闪迪!
  • 再造智慧城市 无人驾驶变革出行
  • 金雅拓发布“数据泄露指数”报告 身份与个人信息盗用高居榜首
  • Java编程体验:线程的7种状态及相互转换
  • 2016年我国物联网行业运行特征浅析
  • 大数据时代的法院管理有何“妙招”
  • 超越预测-二阶分析
  • 美国优先能源计划对我国能源发展战略有何启示?
  • 【胖头陀】协同管理的大时代
  • 虚拟运营商普遍处亏损状态 批发价调整无济于事
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【附node操作实例】redis简明入门系列—字符串类型
  • Android 架构优化~MVP 架构改造
  • Angularjs之国际化
  • CentOS6 编译安装 redis-3.2.3
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • js如何打印object对象
  • Just for fun——迅速写完快速排序
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Protobuf3语言指南
  • select2 取值 遍历 设置默认值
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • win10下安装mysql5.7
  • 从setTimeout-setInterval看JS线程
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 观察者模式实现非直接耦合
  • 什么是Javascript函数节流?
  • 使用权重正则化较少模型过拟合
  • 手写双向链表LinkedList的几个常用功能
  • 我们雇佣了一只大猴子...
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (Git) gitignore基础使用
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (笔试题)分解质因式
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)Controller接口控制器详解(三)
  • (一)VirtualBox安装增强功能
  • (转)Google的Objective-C编码规范
  • .NET 5种线程安全集合
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET NPOI导出Excel详解
  • .Net语言中的StringBuilder:入门到精通