创建一个web project;

导入Struts2的jar包放到lib目录下:

WEB-INF下面创建login.jsp和welcome.jsp;index.jsp删掉;

说一下<%@ taglib prefix="s" uri="/struts-tags"%>

这句是Struts2标签引入,一定记得写 不然下面的表格就不认了!

login.jsp页面代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<body>
<s:form action="login" method="post">
<s:label value="系统登录"></s:label>
<s:textfield name="username" label="账号"></s:textfield>
<s:password name="password" label="密码"></s:password>
<s:submit value="登录"></s:submit>
</s:form>
</body>
</html>

welcome.jsp页面代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>欢迎</title>
</head>
<body>
欢迎${username}
</body>
</html>

在src下创建struts.xml:

<?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="LoginAction" method="execute" >
<result name="success">/WEB-INF/welcome.jsp</result>
<result name="login">/WEB-INF/login.jsp</result>
</action>
</package>
</struts>

在src下编写LoginAction类:

import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private static final long serialVersionUID = 1L;
//该类继承了ActionSupport,就可以直接使用SUCCESS LOGIN等变量和 重写execute方法
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;
}
@Override
public String execute() throws Exception {
if("sxh".equals(username) && "123".equals(password))
return SUCCESS;
return LOGIN;
}
}

编写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">
<display-name></display-name>
<welcome-file-list>
<welcome-file>/WEB-INF/login.jsp</welcome-file>
</welcome-file-list>

<filter>
<!--指定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>
</web-app>

部署到tomcat启动就可以运行了!!!!!

代码链接:http://pan.baidu.com/s/1bpED1gj

Struts2使用demo的更多相关文章

  1. struts2入门Demo

    一.引入必要的jar包,所需jar包如下: 二.配置web.xml.主要目的是拦截请求 <?xml version="1.0" encoding="UTF-8&qu ...

  2. Java笔记10:Struts2简单Demo

    1 下载struts-2.3.24.1-all.zip并解压缩,位置任意,比如我的位置是D:\Download\Java\struts-2.3.24.1 解压缩D:\Download\Java\str ...

  3. Struts2小demo遇到的几个问题

    最近下了struts的2.5.10版本,想跑个小例子看看,结果遇到了不少的坑,大部分都是自己坑自己.先看操作步骤:首先导入struts2的8个核心jar包: commons-fileupload-1. ...

  4. struts2 校验demo

    综合练习: <validators> <field name="username"> <field-validator type="requ ...

  5. struts2 Demo

    参考资料 :http://www.cnblogs.com/yangy608/archive/2010/11/08/1871962.htmlhttp://www.yiibai.com/struts2/s ...

  6. 深入了解Struts2返回JSON数据的原理

    首先来看一下JSON官方对于"JSON"的解释: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析 ...

  7. 启动struts2项目出现classnotfound错误

    由于工作需求.需要了解struts2项目,前几天部署了一个struts2的demo,研究url的解析过程,昨天还是好好的,今天修改了一下web.xml文件,然后启动Tomcat就报错,错误如下: 严重 ...

  8. struts2中的json

    这里放一个转载的struts2中json的详细应用和范例, http://yshjava.iteye.com/blog/1333104,这是个人在网上看到的很用心也很详细的一份关于struts2中js ...

  9. Struts2框架入门

    1.1 Struts2概述: 是一个遵循WEB层规范的MVC设实现,该框架基本上借鉴了WebWork框架的体系结构,只吸收了少部分Struts1的优点.是目前JAVA EE项目中WEB层事实上的工业标 ...

随机推荐

  1. PEtools

    // PETools.cpp : Defines the entry point for the console application.// #include "stdafx.h" ...

  2. (转载)org.springframework.web.context.ContextLoaderListener

    http://www.yihaomen.com/article/java/471.htm 刚才手贱乱点了下,然后好像jar包不见了还是什么的,出现了这个错误,按照帖子说的,手动添加maven进去就好了

  3. jquery Datatables 行数据删除、行上升、行下降功能演示

    Datatables 是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 官方网站:http://www.datatables.net Datatables ...

  4. SSM框架总结(1)

    ----------------------20170106-------------------------------------- 1.mabatis.genertor中自动生成文件,需要在ge ...

  5. Navicat Premium连接Oracle 问题汇总

  6. HTTPS和HTTP的区别(转)

    HTTPS和HTTP的区别 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信 息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器 ...

  7. Andriod学习笔记2:“Your content must have a ListView whose id attribute is 'android.R.id.list'”问题的解决办法

    问题描述 activity_main.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <Lin ...

  8. Intel.parallel.studio.xe.2015.Update.2.ISO-TBE 下载

    磁力链下载点我 还有linux版本 Intel.parallel.studio.xe.2015.Update.1.LINUX.ISO-TBE 收集自网络,要跨请跨原作者,谢谢.

  9. Puppet自动化运维-资源介绍篇(4)

    1.什么是资源? 资源是Puppet最基础的元素,每个资源的定义都具有标题,类型,以及一系列的属性. 资源定义有如下的特性:   (1) Puppet使用title在编译时区分每个资源,使用命名变量在 ...

  10. cookies插件,记住cookies

    今天同事交给了我一个记住cookies插件,首先先去网上下载一个jquery.cookie.js文件文件下载 <!DOCTYPE html PUBLIC "-//W3C//DTD HT ...