首页 > 其他 > 详细

sturts2 入门笔记

时间:2019-04-14 16:29:32      阅读:127      评论:0      收藏:0      [点我收藏+]

刚启动idea 就报出错误 

[2019-04-14 03:08:22,780] Artifact 05-sturts2:war exploded: Error during artifact deployment. See server log for details.

解决办法:

file-project structure -probleam 里面有一个fix

第二个错误:

就是需要的jar包没有加全

这几个是创建idea 时自带的jar包,我使用的jar包是5版本的
commons-fileupload.jar commons-io.jar commons-lang.jar freemarker.jar log4j.jar ognl.jar struts2-core.jar

这个时候运行报错

需要再添加上几个jar包

asm-5.2.jar
asm-commons-5.2.jar
asm-tree-5.2.jar
commons-lang3-3.8.1.jar
javassist-3.20.0-GA.jar

这个时候idea 自动生生的sturts.xml文件是标错的

idea的配置文件扫描的类是

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

但是新的jar包中去掉了ng这个包,所以只需要改成下面的就可以了。学完springmvc后再看sturts2 真是挺简单的。

org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

 

下面对jar包进行一下分析

 


asm-5.2.jar
asm-commons-5.2.jar  
asm-tree-5.2.jar        红色的是用于实现代理的主要jar包
javassist-3.20.0-GA.jar
 commons-lang3-3.8.1.jar javassist-3.20.0-GA.jar
commons-fileupload.jar
commons-
io.jar 文件上传
commons-lang.jar 这个是定义的基本数据类型以及对它的扩展
freemarker.jar stutrs2 的ui
log4j.jar 日志
ognl.jar 对象图导航语言,是一种表达式是一个独立的项目是被sturts2引进来的
struts2-core.jar 核心jar包

X先放上一个简单的例子
jsp

技术分享图片
<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2019/4/14
  Time: 15:04
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <form name="f1" action="loginaction/login.action" method="post">
   姓名: <input type="text" name="name"/>
   年龄: <input type="password" name="password"/>
     <input type="submit" value="提交"/>

  </form>
  </body>
</html>
index.jsp

sturts.xml

 

技术分享图片
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
    <package name="loginaction" namespace="/loginaction" extends="struts-default">
        <action name="login" class="com.sturts2.action.loginAction">
            <result name="success">/welcome.jsp</result>

        </action>
    </package>
    
</struts>
sturts.xml
技术分享图片
<%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2019/4/14
  Time: 15:35
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

name =${name}
password = ${password}
</body>
</html>
welcome.jsp

需要注意的地方就是你的表单的属性名 name 必须要和你的实体类中的名字相同

讲解一下配置文件的加载顺序

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>      表单中的action中的地址就是loginaction/login.action 也就是名称空间加上 标签<action>中的name 从而找到要加载的试题类loginAction ,实体类中的方法
必须要写成 public String execute(){ return "success"} 否则不会执行 正好对应标签中的 <result>标签中的success
<package name="loginaction" namespace="/loginaction" extends="struts-default"> <action name="login" class="com.sturts2.action.loginAction"> <result name="success">/welcome.jsp</result> </action> </package> </struts>

 

sturts2 入门笔记

原文:https://www.cnblogs.com/zhulina-917/p/10705297.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!