1.安装部署jdk,安装部署tomcat服务器,下载安装ant构建工具,下载struts2的jar文件
2.在电脑上新建一个文件夹test,在test文件夹下新建目录lib、src、WEB-INF,在test文件夹下新建文件index.jsp(见附1)
3.所有网站都要有web.xml文件。从tomcat的webapps/在WEB-INF/ROOT/WEB-INF下,复制web.xml到test/WEB-INF/web.xml,修改其中内容(见附2),加入struts过滤器,使得所有地址都有struts代理执行
3.在struts2的jar中找个strtus.xml文件,复制到test/src下(经过ant编译后会复制到test/WEB-INF/classes目录系,可手动建在此目录),并修改其中内容(见附3)
4.index.jsp的表单提交后会提交acton到login中,web.xml中配置的struts过滤器会拦截请求,获取请求参数后,在struts.xml中查找匹配name=login的action,匹配成功会调用action处理类com.ltl.service.LoginAction,我们在test/src目录下新建com\ltl\service目录,并在本目录下新建LoginAction类(见附4)
5.根据请求结果回返回“success”或“error”字符串,返回struts.xml查看,会跳转到test/error.jsp(见附5)或test/welecom.jsp(见附6)页面
6.在test文件下新建ant构建文件build.xml(见附7),将test文件夹复制到tomcat/webapps目录下
7.在DOS下,输入cmd,当前路径到test目录下,输入命令ant,将看到test/src的内容编译到test/Web-INF/classes下,test/lib文件夹复制到test/Web-INF下
8.在tomcat的bin目录下,点击startup.bat,服务器启动。
9.在浏览器中输入地址:http://localhost:8080/test,struts2配置成功。
附1:index.jsp
左尖括号%@ page contentType="text/html; charset=UTF-8" %右尖括号
左尖括号%@ taglib uri="/struts-tags" prefix="s" %右尖括号
左尖括号!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"右尖括号
左尖括号html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"右尖括号
左尖括号head右尖括号
左尖括号title右尖括号用户登录左尖括号/title右尖括号
左尖括号/head右尖括号
左尖括号body右尖括号
左尖括号form action="login" method="post"右尖括号
左尖括号table右尖括号
左尖括号caption右尖括号左尖括号h3右尖括号用户登录左尖括号/h3右尖括号左尖括号/caption右尖括号
左尖括号tr右尖括号
左尖括号td右尖括号用户名: 左尖括号input type='text' name="username" /右尖括号左尖括号/td右尖括号
左尖括号/tr右尖括号
左尖括号tr右尖括号
左尖括号td右尖括号密 码: 左尖括号input type='text' name="password" /右尖括号左尖括号/td右尖括号
左尖括号/tr右尖括号
左尖括号tr align="center"右尖括号
左尖括号td colspan="2"右尖括号左尖括号input type="submit" value="登录" /右尖括号
左尖括号input type="reset" value="重填" /右尖括号左尖括号/td右尖括号
左尖括号/tr右尖括号左尖括号/table右尖括号
左尖括号/form右尖括号
左尖括号/body右尖括号
左尖括号/html右尖括号
附2:web.xml
左尖括号?xml version="1.0" encoding="UTF-8"?右尖括号
左尖括号web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"右尖括号
左尖括号display-name右尖括号My Test左尖括号/display-name右尖括号
左尖括号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右尖括号index.html左尖括号/welcome-file右尖括号
左尖括号welcome-file右尖括号index.jsp左尖括号/welcome-file右尖括号
左尖括号/welcome-file-list右尖括号
左尖括号/web-app右尖括号
附3: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="struts2ltl" extends="struts-default"右尖括号
左尖括号action name="login" class="com.ltl.service.LoginAction"右尖括号
左尖括号result name="error"右尖括号/error.jsp左尖括号/result右尖括号
左尖括号result name="success"右尖括号/welcome.jsp左尖括号/result右尖括号
左尖括号/action右尖括号
左尖括号/package右尖括号
左尖括号/struts右尖括号
附4:LoginAction.java
package com.ltl.service;
public class LoginAction {
//下面是用于封装用户请求参数的两个属性
private String username;
private String password;
//username属性和password属性的getter和setter方法
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()
{
if(getUsername().equals("我")
&& getPassword().equals("你"))
{
return "success";
}
else
{
return "error";
}
}
}
附5:error.jsp
左尖括号%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%右尖括号
左尖括号!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=ISO-8859-1"右尖括号
左尖括号title右尖括号Insert title here左尖括号/title右尖括号
左尖括号/head右尖括号
左尖括号body右尖括号
左尖括号a href="index.jsp"右尖括号登录失败左尖括号/a右尖括号
左尖括号/body右尖括号
左尖括号/html右尖括号
附6:welcome.jsp
左尖括号%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%右尖括号
左尖括号!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=ISO-8859-1"右尖括号
左尖括号title右尖括号Insert title here左尖括号/title右尖括号
左尖括号/head右尖括号
左尖括号body右尖括号
左尖括号a href="index.jsp"右尖括号登录成功左尖括号/a右尖括号
左尖括号/body右尖括号
左尖括号/html右尖括号
附7:build.xml
左尖括号?xml version="1.0" encoding="UTF-8"?右尖括号
左尖括号project name="ant_firsttest" default="compile" basedir="."右尖括号
左尖括号description右尖括号ant firsttest!左尖括号/description右尖括号
左尖括号!-- set global properties for this build --右尖括号
左尖括号!--设定变量,之后用。location为文件夹路径--右尖括号
左尖括号property name="src" location="src"/右尖括号
左尖括号property name="root" location="."/右尖括号
左尖括号property name="lib" location="lib"/右尖括号
左尖括号!--设置properties文件位置.这里没用到。--右尖括号
左尖括号!--左尖括号property file="nbproject/project.properties"/右尖括号--右尖括号
左尖括号!--初始化命令--右尖括号
左尖括号target name="init"右尖括号
左尖括号!-- Create the time stamp --右尖括号
左尖括号tstamp/右尖括号
左尖括号!--mkdir是建立文件夹,${build}即刚才设定的变量。这几行都在干这事。--右尖括号
左尖括号!-- Create the build directory structure used by compile --右尖括号
左尖括号mkdir dir="${root}/WEB-INF/lib"/右尖括号
左尖括号mkdir dir="${root}/WEB-INF/classes/com/ltl/service"/右尖括号
左尖括号/target右尖括号
左尖括号!--编译--右尖括号
左尖括号target name="compile" depends="init"
description="compile the source " 右尖括号
左尖括号!-- Compile the java code from ${src} into ${build} --右尖括号
左尖括号!--javac标签用来设置编译程序的参数,srcdir为java文件路径,destdir为编译后class文件的保存路径。--右尖括号
左尖括号javac srcdir="${src}" destdir="${root}/WEB-INF/classes/"/右尖括号
左尖括号!--如果路径下还有别的文件需要一起打包,用copy 命令。--右尖括号
左尖括号copy file="${src}/struts.xml" tofile="${root}/WEB-INF/classes/struts.xml" /右尖括号
左尖括号copydir src="${lib}" dest="${root}/WEB-INF/lib" /右尖括号
左尖括号/target右尖括号
左尖括号!--删除--右尖括号
左尖括号target name="clean"
description="clean up" 右尖括号
左尖括号!--设定删除命令要删的路径。--右尖括号
左尖括号!-- Delete the ${build} and ${dist} directory trees --右尖括号
左尖括号delete dir="${src}"/右尖括号
左尖括号delete dir="${lib}"/右尖括号
左尖括号/target右尖括号
左尖括号/project右尖括号