Struts2入门经典实例-登录页面
2014-03-21 01:31
639 查看
在http://blog.csdn.net/todaymz/article/details/8743712基础上做了修改,否则无法运行。
写一个Steuts2的经典入门案例,怕忘记啊,有时候突然记不起知识概念了,所以还是记个笔记,网络上找了几个,发现部署出来要报错,最后还是自己写一个比较靠谱。
做了一个登陆程序作为入门例子。登陆会去交互,并返回页面,比较适合以后扩展的项目,容易理解!
例子:登陆的Struts2案例
环境:
IDE工具:Myeclipse , Tomcat6.0
所需jar包:
struts2-core-2.1.8.1.jar
struts2-json-plugin-2.1.8.1.jar
xwork-core-2.1.6.jar
commons-fileupload-1.2.1.jar
freemarker-2.3.15.jar
junit4.4.jar
ognl-2.6.7.jar
步骤:
1. 创建一个web project项目
2.导入Struts2所需jar包
3.配置web.xml
4.配置struts2.xml
5.写action类(LoginUser.java)
6.写jsp页面
7.启动tomcat.运行项目
项目最后截图:
开始:
1.创建一个Dynamic Web Project项目
项目名称为:Struts2SpExa
2.导入所需jar包
导入所需jar包到项目的lib文件夹下(或者通过Build Path导入也可)
3.在WEB-INF下面创建文件web.xml,并配置如下:
配置拦截器和起始页面
注意,即便WEB-INF是在WebContent文件夹下的,也不要把WebContent写到路径中,否则会无法找到这个文件。
4.在src目录下创建文件struts.xml并配置
配置strust2要调用的action
5.写action类(LoginUser.java)
这个类主要用于struts2跳转到这个action后。默认执行execute()方法。并根据结果返回字符,然后struts.xml根据返回的字符跳到相应的页面
6.写jsp页面
这里有三个jsp页面:login.jsp, success.jsp, fail.jsp
login.jsp(用了简单的标签)
success.jsp
fail.jsp
7.启动tomcat.运行项目
run项目。在地址栏中输入:http://localhost:8080/Struts2SpExa/
弹出登录界面:(输入toadyMZ,密码123登录成功)
That's OK !
如果过程中报错: No configuration found for the specified action,
那是因为你在login页面使用标签的时候,form表单提交没有指明namespace=??。
写一个Steuts2的经典入门案例,怕忘记啊,有时候突然记不起知识概念了,所以还是记个笔记,网络上找了几个,发现部署出来要报错,最后还是自己写一个比较靠谱。
做了一个登陆程序作为入门例子。登陆会去交互,并返回页面,比较适合以后扩展的项目,容易理解!
例子:登陆的Struts2案例
环境:
IDE工具:Myeclipse , Tomcat6.0
所需jar包:
struts2-core-2.1.8.1.jar
struts2-json-plugin-2.1.8.1.jar
xwork-core-2.1.6.jar
commons-fileupload-1.2.1.jar
freemarker-2.3.15.jar
junit4.4.jar
ognl-2.6.7.jar
步骤:
1. 创建一个web project项目
2.导入Struts2所需jar包
3.配置web.xml
4.配置struts2.xml
5.写action类(LoginUser.java)
6.写jsp页面
7.启动tomcat.运行项目
项目最后截图:
开始:
1.创建一个Dynamic Web Project项目
项目名称为:Struts2SpExa
2.导入所需jar包
导入所需jar包到项目的lib文件夹下(或者通过Build Path导入也可)
3.在WEB-INF下面创建文件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"> <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>/WEB-INF/jsp/login.jsp</welcome-file> </welcome-file-list> </web-app>
注意,即便WEB-INF是在WebContent文件夹下的,也不要把WebContent写到路径中,否则会无法找到这个文件。
4.在src目录下创建文件struts.xml并配置
配置strust2要调用的action
<?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="loginAction" extends="struts-default" namespace="/"> <action name="loginUser" class="loginAction.UserAction"> <result name="success">/WEB-INF/jsp/success.jsp</result> <result name="fail">/WEB-INF/jsp/fail.jsp</result> </action> </package> </struts>
5.写action类(LoginUser.java)
这个类主要用于struts2跳转到这个action后。默认执行execute()方法。并根据结果返回字符,然后struts.xml根据返回的字符跳到相应的页面
package loginAction; public class UserAction { 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; } public String execute() throws Exception { // 只要用户名为todayMZ,密码为1234就可成功登陆 if ("todayMZ".equals(this.getUsername().trim()) && "1234".equals(this.getPassword().trim())) { return "success"; } else { return "fail"; } } }
6.写jsp页面
这里有三个jsp页面:login.jsp, success.jsp, fail.jsp
login.jsp(用了简单的标签)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>登陆页面</title> </head> <body> <center> <s:form action="loginUser" method="post" namespace="/" > <s:textfield name="username" label="用户名"></s:textfield> <s:password name="password" label="密码"></s:password> <s:submit value="确定"/> <s:reset value="重置"/> </s:form> </center> </body> </html>
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>成功页面</title> </head> <body> <p align="center">登陆成功!!!您的用户名是<s:property value="username"></s:property></p> </body> </html>
fail.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>失败页面</title> </head> <body> <p align="center">登陆失败!!!</p> </body> </html>
7.启动tomcat.运行项目
run项目。在地址栏中输入:http://localhost:8080/Struts2SpExa/
弹出登录界面:(输入toadyMZ,密码123登录成功)
That's OK !
如果过程中报错: No configuration found for the specified action,
那是因为你在login页面使用标签的时候,form表单提交没有指明namespace=??。
相关文章推荐
- MyEclipse无法破解的某种解决方法
- 如何解决Maven依赖本地仓库eclipse报错的问题
- [FreeMarker 2.3.20] Part I 关于模版设计的介绍 ~值和类型~ 基础概念
- Windows程序(C# VS 2008)杂记之Java访问Webservice服务
- JavaSE 番外篇之String(一)
- ACM 杭电 1004 java
- Java如何克隆集合——深度拷贝ArrayList和HashSet
- Spring使用OpenSessionInViewFilter解决Hibernate的lazy延时加载问题
- Java对下面XML文档解析要求封装为两个类
- JAVA final finally finalize区别
- JAVA原始类型和引用类型区别
- JAVA 错误 运行时异常 一般异常 区别
- java变量的初始化
- java
- java重载与重写
- java构造方法的访问修饰符
- java final
- java类设计习惯
- java内存管理
- 深入理解Java Class文件格式(三)