struts2Demo

1.新建Web Project, 名称:struts2Demo;

image

image

2.建立一个用户库struts2, 包含最少的struts2的最少的6个jar文件;

其实呢, 对于MyEclipse8以上来说, 是不必须的, 因为它直接支持struts2了.不需要另外导包.

image

3.用Build Path将struts2的库加进来;

4.在web.xml中加入以下配置:

[?xml version="1.0" encoding="UTF-8"?>
[web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >

    [!-- struts2的配置 -->
    [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>


    [welcome-file-list>
        [welcome-file>index.jsp[/welcome-file>
    [/welcome-file-list>
[/web-app>

5.建立Action,

package com.yenange.action;
import com.opensymphony.xwork2.Action;
public class LoginAction implements Action {
    private String uname;    //表单中的姓名
    private String upass;    //表单中的密码
    //执行方法
    @Override
    public String execute() throws Exception {
        System.out.println("姓名:"+uname);
        System.out.println("密码:"+upass);
        if (uname.equals("leaf") && upass.equals("leaf")) {
            return "success";
        }
        return "error";
    }
    //记住, 要有get和set方法
    public String getUpass() {
        return upass;
    }
    public void setUpass(String upass) {
        this.upass = upass;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
}

6.三个页面文件:

//index.jsp
[%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
[html>
    [head>
        [title>My JSP 'index.jsp' starting page[/title>
    [/head>
    [body>
        [form action="login">
            用户名:[input type="text" name="uname">[br>
            密  码:[input type="text" name="upass">[br>
            [input type="submit" value="登陆" />
        [/form>
    [/body>
[/html>
//welcome.jsp
[%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
[html>
    [head>
        [title>My JSP 'welcome.jsp' starting page[/title>
    [/head>
    [body>
        welcome struts2

    [/body>
[/html>
//fail.jsp;
[%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
[html>
  [head>
    [title>My JSP 'welcome.jsp' starting page[/title>
  [/head>
  [body>
出错!

[/body>
[/html>

7.配置struts.xml. (对于MyEclipse6来说, 只能从别的地方copy)

[?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="default" namespace="/" extends="struts-default">
        [action name="login" class="com.yenange.action.LoginAction">
            [result name="success">/welcome.jsp[/result>
            [result name="error">/fail.jsp[/result>
        [/action>
    [/package>
    [!-- Add packages here -->
[/struts>

 

 

8.到此完成.可以运行一下了, 是不是很简单?

-----------------------------------------------------------------

http://sl514.blog.163.com/blog/static/66327412008121365039/

下面是取得request, session, application这些东西的方法.

package com.yenange.action;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.Action;

public class LoginAction implements Action,ServletRequestAware,SessionAware,ServletContextAware {
    private String uname;    //表单中的姓名
    private String upass;    //表单中的密码
    HttpServletRequest request;    //常用的request
    Map session;    //常用的session,有不同, 但是不需要管
    ServletContext application;        //常用的application
    //第二种取的方法;
    HttpServletRequest request2 = ServletActionContext.getRequest();
    HttpServletResponse response2 = ServletActionContext.getResponse();
    HttpSession session2 = request2.getSession();

    @Override
    public void setServletRequest(HttpServletRequest req) {
        this.request=req;
    }
    @Override
    public void setSession(Map session) {
        this.session=session;
    }
    @Override
    public void setServletContext(ServletContext application) {
        this.application=application;
    }
    //执行方法
    public String execute() throws Exception {
        if (uname.equals("leaf") && upass.equals("leaf")) {
            request.setAttribute("userName", uname);
            return "success";
        }
        request.setAttribute("accessError", uname+"这个用户或密码不正确!");
        return "error";
    }
    //记住, 要有get和set方法
    public String getUpass() {
        return upass;
    }
    public void setUpass(String upass) {
        this.upass = upass;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
}

//这些只是初步了, 后面再学习一些关于标签, 动态方法之类的东西.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Struts2 示例,将输入的名称传递给 Action 类并在 JSP 页面上显示欢迎消息。 首先,我们需要创建一个名为 "WelcomeAction" 的 Action 类,在其中定义一个名为 "name" 的属性和一个名为 "execute" 的方法。 ```java package com.example.struts2demo; public class WelcomeAction { private String name; public String execute() { return "success"; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ``` 接下来,我们需要创建一个名为 "welcome.jsp" 的 JSP 页面,该页面将显示欢迎消息,并使用 Struts2 标记库获取 Action 类中设置的名称。 ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html> <html> <head> <title>Welcome</title> </head> <body> <h1>Welcome <s:property value="name" /></h1> </body> </html> ``` 接下来,我们需要创建一个名为 "struts.xml" 的配置文件,该文件将指定如何将请求映射到 Action 类以及如何处理结果。 ```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="default" extends="struts-default"> <action name="welcome" class="com.example.struts2demo.WelcomeAction"> <result name="success">/welcome.jsp</result> </action> </package> </struts> ``` 最后,我们需要创建一个名为 "index.jsp" 的 JSP 页面,该页面将显示一个表单,允许用户输入他们的名称,并将其作为参数传递给 Action 类。 ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html> <html> <head> <title>Welcome</title> </head> <body> <h1>Welcome</h1> <s:form action="welcome"> <s:textfield name="name" label="Enter your name" /> <s:submit value="Submit" /> </s:form> </body> </html> ``` 现在,我们已经完成了 Struts2 示例的所有必要组件。要运行示例,请将这些文件保存在您的 Web 应用程序中,并使用您喜欢的 Web 服务器启动应用程序。然后,导航到 "index.jsp" 页面,输入您的名称并单击提交按钮,应该会显示一个欢迎消息,其中包含您输入的名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值