Struts2初学

疯了都,,今天中午找错误,找啊找,可就是感觉没有错误!
于是 我决定睡一觉,,,起来找,过了几分钟突然发现struts.xml里package少添一个属性extends="struts-default"

我重新来写一下如何配置 (我使用的是IDEA)
1.新建一个project
这里写图片描述

2.然后配置Tomcat和导入包
这里我不配置tomcat 之前写过。
导入包 需要的包有

jar包作用
commons-fileupload-1.2.2.jar文件上传
commons-io-2.0.1.jarfileupload依赖于io
commons-logging-1.1.1.jar关于日志处理的
ognl-3.0.5.jarstruts2框架核心库包
xwork-core-2.3.4.jarXwork的核心类库
freemarker-2.3.19.jar模板引擎
javassist-3.11.0.GA.jar编辑Java字节码的类库
commons-lang3-3.1.jar用来处理Java基本对象方法的工具类包

这里写图片描述

3.编写src 下的struts.xml

<package name="lee" extends="struts-default">
//IDEA显示struts-default是红色的吓得我还以为有错误 !

/*extends="struts-default" 不写别想执行了,,,,*/
<?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>
    <!--指定全局国际化资源文件-->
    <constant name="structs.custom.il8n.resources" value="mess"/>
    <!--指定的ACTION定义放在package下-->
    <package name="lee" extends="struts-default">
        <!-- 名字为login的Action 向该Action发送请求会 跳转指定的.jsp
        返回SUCCESS 则会跳转到localhost:8080/welcome.jsp
        -->
        <action name="login" class="lee.LoginAction">
            <result name="error">/error.jsp</result>
            <result name="success">/welcome.jsp</result>
        </action>
    </package>
</struts>

4.编写WEB-INF 下的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <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>

5.编写一个LoginForm.jsp来进行用户注册的页面
这里使用的是struts里的标签库,,我还没怎么学,,

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="x" uri="/struts-tags" %>
<html>
<head>
    <title>登录页面</title>
</head>
<body>
    <x:form action="login">
        <x:textfield name="username" key="user"/>
        <x:textfield name="password" key="pass"/>
        <x:submit value="login"/>
    </x:form>
</body>
</html>

如图
这里写图片描述

6.再在src下编写一个LoginAction.java
这里继承了ActionSupport类

package lee;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
    //定义封装请求参数的username和password成员变量
    private String username;
    private String password;
    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;
    }
    //定义处理用户请求的execute方法
    public String execute() throws Exception{
        System.out.println(username);
        System.out.println(password);
        System.out.println(getUsername().equals("lion") && getPassword().equals("1234"));
        if(getUsername().equals("lion") && getPassword().equals("1234")){
            ActionContext.getContext().getSession().put("user",getUsername());
            return SUCCESS;
        }
        return ERROR;
    }
}

7.welcome.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>欢迎</title>
</head>
<body>
    <h1>欢迎!<%= request.getSession().getAttribute("user")%></h1>
</body>
</html>

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值