struts2入门示例

来源:互联网 发布:登录到wlan网络 编辑:程序博客网 时间:2024/06/04 18:51

官网下载Struts2的jar包地址:Struts2官网Jar下载,这里用的是struts-2.3.14-all.zip这个包里面的jar。

1、新建一个web项目


2、导入struts2的几个基本jar包。下载并解压好struts2后,在apps样例项目文件夹里有个struts2-blank项目代码,这个项目web_inf里的那些jar包就是struts2的基本jar包。复制粘贴到刚才新建的项目下的WEB_INF/lib文件夹下。


3、配置web.xml文件

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"version="3.0">

  <display-name>Struts2Demo</display-name>

  <welcome-file-list>

<welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

  <!-- 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>


从Struts 2.1.3起filter-class改用StrutsPrepareAndExecuteFilter。以前的版本用org.apache.struts2.dispatcher.FilterDispatcher。

4、配置struts.xml文件

需要先创建struts.xml文件,配置strust2要调用的action。直接新建在src目录下,那样部署的时候会自动发布到WEB-INF/classes目录下,或者直接创建在WEB-INF/classes目录下面。

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPE strutsPUBLIC  

    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  

    "http://struts.apache.org/dtds/struts-2.3.dtd">  

<struts>

<packagename="struts2"extends="struts-default">

<actionname="Index">

<result>/index.jsp</result>

</action>

<actionname="login"class="tutorial.Welcome">

<resultname="success">/Welcome.jsp</result>

<resultname="error">/error.jsp</result>

</action>

</package>

</struts>

其中,package元素,作用类似于Java包的机制,他是用于分门别类的一个工具,extends属性如他的名字一样,它继承了struts-default这个包的所有信息,一般我们自己创建一个包最好都继承它,因为他为我们提供了绝大部分的功能,你可以在struts2-core的jar包中的struts-default.xml文件中找到这个包。

action元素对应于你的表单,例如你的表单的action="login",那么该表单提交成功后就会将参数交予action的name="success"的实现类处理。实现类的属性值会传递到对应的jsp页面以供展示。

这里新建了三个页面,index.jsp登陆界面,Welcome.jsp登陆成功页面,error.jsp登陆失败页面。

5、写action的实现类

package tutorial;

public class Welcome {

private Stringusername;

private Stringpassword;

public String getUsername() {

returnusername;

}

public void setUsername(String username) {

this.username =username;

}

public String getPassword() {

returnpassword;

}

public void setPassword(String password) {

this.password =password;

}

public String execute() {

if(username.equals("root")&&password.equals("root")){

return"success";

}else{

return"error";

}

}


}

这个类主要用于struts2跳转到这个action,默认执行execute()方法,判断并返回字符,然后struts.xml根据返回的字符跳到相应的页面
实现类的username和password属性用于保存登陆页面form表单提交过来的账号和密码。

6、写页面

index.jsp

<%@ pagelanguage="java"contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglibprefix="s"uri="/struts-tags"%>  

<!DOCTYPE htmlPUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">

<title>Login</title>

</head>

<body>

<h1>Struts 2 login Example</h1>

<formaction="login.action"method="post">

<table>

<tr>

<td>用户名:</td>

<td><inputtype="text"name="username"/></td>

</tr>

<tr>

<td>密码:</td>

<td><inputtype="password"name="password"/></td>

</tr>

<tr>

<tdcolspan="2"align="center">

<inputtype="submit"value="登录"/>

</td>

</tr>

</table>

</form>

</body>

</html>

Welcome.jsp

<%@ pagelanguage="java"contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglibprefix="s"uri="/struts-tags"%>  

<!DOCTYPE htmlPUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">

<title>Welcome</title>

</head>

<body>

<h2>Welcome,<s:propertyvalue="username"/>!</h2>

</body>

</html>

error.jsp

<%@ pagelanguage="java"contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglibprefix="s"uri="/struts-tags"%>  

<!DOCTYPE htmlPUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">

<title>Error</title>

</head>

<body>

<h3>用户名:<s:propertyvalue="username"></s:property>和密码:<s:propertyvalue="password"></s:property>不正确!</h3>

<h3>请输入正确的用户名和密码!</h3>

<formaction="Index.action">

<inputtype="submit"value="返回登录"/>

</form>

</body>

</html>

7、项目部署

把项目部署到tomcat上启动,在浏览器输入http://localhost:8080/Struts2Demo/Index即可。

项目整体结构图





0 0