平台环境:win10,myeclipse10
一.Struts2 框架搭建
新建工程web project,命名为LoginTest
点击Finish,便生成如下图所示的项目
右键点击项目名,按下图所示,添加Struts。
添加之后,选择Struts2.1
点击next
点击Finish,这时会在src下自动添加struts.xml文件。并且web.xml也会自动修改。
struts.xml如下:空的struts配置
<?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>
</struts>
web.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
<display-name></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>
<!-- 用于struts2 的过滤器映射 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
部署项目,点击项目名,再在菜单栏中点击
选择要部署的project点击add
在Server下拉列表选择MyEclipse Tomcat
部署成功,无报错。选中project点击run
选择run as ->MyEclipse Server Application运行后结果如下
到此struts2 框架搭建成功。可以进行下一步:struts2 登录实例的实现。
二.struts2 登录实例的实现
在scr下创建名为org.struts.useraction的包(package) 再创建名为UserAction的类
src下生成如下结构
UserAction.java的内容:
package org.struts.useraction;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
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 {
System.out.println("Login.action");
if ("scott".equals(username) && "tiger".equals(password))//scott是用户名,tiger是密码
return "success";
else
return "error";
}
}
然后在struts.xml配置login.action 代码如下:
<?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>
<!--struts2.0默认的配置文件 -->
<include file="struts-default.xml"></include>
<!-- 也可以加载其他的配置文件 -->
<!-- <include file="mystrutsconfig.xml"></include> -->
<!-- 添加package -->
<package name="useraction" extends="struts-default">
<!-- 配置login.action -->
<action name="login" class="org.struts.useraction.UserAction">
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>
修改index.jsp内容如下:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>登陆界面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<!-- 提交请求参数的表单 -->
<form action="login" method="post">
<table align="center">
<caption>
<h3>用户登录</h3>
</caption>
<tr>
<!-- 用户名的表单域 -->
<td>用户名:<input type="text" name="username" /></td>
</tr>
<tr>
<!-- 密码的表单域 -->
<td>密 码:<input type="password" name="password" /></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="登录"/></td>
</tr>
</table>
</form>
</body>
</html>
在webroot下创建success.jsp 和error.jsp。 success.jsp 内容如下:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
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>
<base href="<%=basePath%>">
<title>My JSP 'success.jsp' starting page</title>
</head>
<body>
This is success page. <br>
</body>
</html>
error.jsp 类似。
最后是部署运行,结果如下:
输入正确用户名(scott)和密码(tiger)登录成功!
输入错误的则会显示登录失败
这样登录实例就完成了~~~