struts2包可以在struts2官方网址下载,struts2采用热部署的方式注册插件,即如果向struts2中添加插件,直接把jar文件放在lib中即可,而不需要配置任何文件。
新建Web项目struts2,将struts2所以来的jar添加到/WEB-INF/lib文件夹,注意删除没有用的插件(形如xxx-plugin-2.0.11.jar的)。先用struts2实现登录功能,新建Action类LoginAction。struts2的Action继承com.opensymphony.xwork2.ActionSupport类。源代码如下:
LoginAction
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private String account; //账号
private String password; //密码
@Override
public String execute() throws Exception {
if("helloween".equalsIgnoreCase(account) && "1234".equals(password)){
return SUCCESS;
}
return LOGIN;
}
public String getAccount() { //account属性的getter方法
return account;
}
public void setAccount(String account) { //account属性的setter方法
this.account = account;
}
public String getPassword() { //password属性的getter方法
return password;
}
public void setPassword(String password) { //password的setter方法
this.password = password;
}
}
LoginAction中有两个属性account password,代表JSP表单的两个输入框,Struts2会自动把输入框内容getter和setter进来。另外还有一个execute()方法,这是Struts2的住方法提交数据后Struts2会调用该方法,返回值代表结构页面的名称,具体路径在配置文件中
Struts2配置文件
Struts2文件默认位置为/WEB-INF/classes/struts.xml,可以将Struts.xml放到Myeclipse文件夹下,代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="main" extends="struts-default">
<global-results> <!-- 所有的全局变量result -->
<result name="login">/login.jsp</result>
</global-results>
<action name="loginPerson" class="com.fcl.action.LoginAction">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
JSP登录界面
jsp中使用struts2显示数据。注意添加struts2标签的taglib声明。struts2标签的用法与struts1的完全不一样。代码如下:
success.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="struts"%> <!-- 标签库taglib声明 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录成功</title>
</head>
<body>
登录成功,欢迎您,<struts:property value="account"/> <!-- 显示Action里的account属性 -->
</body>
</html>
全局登录页面login.jsp,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="struts"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head>
<body>
<struts:form action="loginPerson"> <!-- FORM表单 -->
<struts:label value="登录系统"></struts:label>
<struts:textfield name="account" label="账号"></struts:textfield>
<struts:password name="password" label="密码"></struts:password>
<struts:submit value="登录"></struts:submit>
</struts:form>
</body>
</html>
两个页面都用了struts2标签
配置web.xml
最后,在web.xml中配置分配器,struts2使用filter作为分发器。如果有多个filter,要把struts2的分发器filter作为最后一个filter。代码如下:
<?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">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts的filter,所有的请求都被映射到Struts2上 -->
<filter>
<filter-name>struts2</filter-name> <!-- filter的名称 -->
<filter-class> <!-- filter的入口 -->
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param> <!-- 该参数可省略,默认为"*.action" -->
<param-name>struts2.action.extension</param-name>
<param-value>action</param-value> <!-- 默认为"*.action -->
</init-param>
</filter>
<!-- Strut2的Filter的URL -->
<filter-mapping>
<filter-name>struts2</filter-name> <!-- Filter名称 -->
<url-pattern>/*</url-pattern> <!-- 截获所有URL -->
</filter-mapping>
</web-app>
struts2默认的后缀为“.action".配置<url-pattern>最好配置为“/*”而不要只配置为“*.action"。应为struts2集成了一些js资源,而这些资源并不是都是以.action结尾的.
分享到:
相关推荐
基于javaWeb MVC模式,借助struts2框架编写,实现用户简单的注册与登录功能。 1.本demo严格按照MVC的分层模式采用myeclipse编写,可直接运行,服务器为tomcat,数据库为mysql。 2.数据库操作使用c3p0连接池和dbtuils...
2. 系统要实现如下的基本管理功能: (1)用户分为两类:系统管理员,一般用户。 (2)提供用户注册和用户登录验证功能;其中登录用户的信息有:登录用户名,登录密码等。 (3)管理员可以实现对注册用户的管理...
Struts2 整合jQuery实现Ajax功能 很多人用PHP做后台与jQuery.ajax()交互,而我偏偏喜欢Struts 2 Action. 希望大家想我一样在上面“添砖加瓦”不断完善, 一同进步。
struts2实现的学生信息管理系统 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...
Struts2整合jQuery实现Ajax功能 和大多数喜欢用PHP做jQuery.ajax()后台不一样,我偏偏 喜欢 Java Struts2 Action。 欢迎您的下载完善。一同进步。
Action 可以通过继承 Struts2 的 ActionSupport 类或实现 Struts2 的 Action 接口来实现。 6. Struts2 的结果类型: Struts2 的结果类型用于指定 Action 的执行结果,包括 success、error、input 等。结果类型可以...
利用struts_1编写代码实现简单登录功能,学了Struts之后,是在action中编写请求处理代码,为什么这样做呢?因为Struts作者帮我们写好了一个actionServlet,他写这个servlet的目的是希望所有请求都交给它预处理,它...
struts2自定义Action实现Action接口(实现简单登录功能)
简单实现struts功能。能够通过配置定义Action,能够把客户端的简单数据类型(String,int)传递给Action并从Action中取出结果值。另有简单的拦截器功能。没积分了,分享一下。哈哈
该资源使用struts实现分页功能,是通过Action实现中枢的作用
后台服务器端采用struts2实现日程安排信息的保存,这里没有连接的数据库,只是将这些信息保存到session里,主要是为了实现保存日程安排的数据而添加的功能,要改成数据库的话只需要在action调用相应的底层代码就ok了...
Struts2简介以及Struts2的环境配置和Struts2框架实现功能的原理
使用Struts的Action来对数据库进行增、删、改、查四项操作 <br/>1、数据库MySQL,创建数据库 Pagination MySQL.sql用来创建表结构 <br/>连接方式有两种,一种直接JDBC,一种通过连接池,代码中有说明...
Struts2整合jQuery实现Ajax功能_demo
主要是用strus2实现验证码功能,里面包含验证码的实现以及xml文件里面的action的书写
、Struts2 主要几句话: 1、Struts2 是由webwork2 发展来的而非Struts1,相比Struts1,Struts2 编码规范跟类似与webwork2 ...8、Struts2 提供了全局范围、包范围和Action 范围的国际化资源文件管理实现
Struts2实现的增删改查,可运行。数据库mysql,单表,自建就可以啦。代码层逻辑清晰:DAOImpl,DAO,Service,ServiceImpl,Action分层清晰,有简单的国际化和输入校验功能。
实现了Action-validation验证功能,代替了使用jQuery客户端和Action服务器段验证信息功能 由于用了hibernate框架,代码看起来多,但是对于大型项目,例如构建框架,也就是宏观看来,你的收获还是颇丰的! 注:此项目只是...
2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...