一、Struts
1.到官网下载struts2的jar包,将需要使用到的导入web工程。
struts2必须导入的常用的五个jar包:
这几个文件是使用struts2时必须导入的,这是我使用时的版本,可能现在版本有所更新。你可以去她的官方网站下载。
2.在web.xml中配置FilterDispatcher
struts2通过过滤器来替代struts1.x中的actionServlet配置。在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> </web-app>
3.开发Model层业务逻辑
public class LoginService { public boolean login(String cutname,String pwd){ if(cutname.equals("zhangsan")&&pwd.equals("123")){ return true; }else{ return false; } } }
4.开发Action类,调用业务逻辑,返回结果视图。
package com.struts.action; import com.struts.service.LoginService; public class LoginAction { private String custname; private String pwd; public String getCustname() { return custname; } public void setCustname(String custname) { this.custname = custname; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String execute(){ LoginService ls = new LoginService(); boolean flag = ls.login(custname, pwd); if(flag){ return "success"; }else{ return "fail"; } } }
5.在struts.xml中配置Action类。
struts2的主配置文件使用struts.xml,它必须放在classes目录下,在MyEclipse中的就是src下。配置如下:
<?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="user" extends="struts-default"> <action name="Login" class="com.struts.action.LoginAction" > <result name="success" >/welcome.jsp</result> <result name="fail">/login.jsp</result> </action> </package> </struts>
<package>标签说明:
name="struts" 是为<package>起的名字,可任意,建议容易标识;
extends="struts-default" 每个包都应继承sturts-default这个包,这是默认的包。struts2在此包中定义的很多我们要使用的功能。
<action>标签说明:
name="页面请求的action名",相当于struts1.x中的path属性的设置
class是指明类路径;
<result>标签说明:
name="action中返回的字符串"。在struts2中,action返回的是一个字符串。<result>/页面< /result>表示当action返回的值与name的值相同时,则跳转到指定的页面。默认为name="success",可不写;如果 name="input",则是返回的错误处理页面,相当于struts1.x中的input属性设置。
6.开发视图文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>index starting page</title> </head> <body> <s:form action="Login"> <s:textfield name="custname" label="用户名"></s:textfield><br> <s:password name="pwd" label="密 码"></s:password><br> <s:submit value="Login"></s:submit> </s:form> </body> </html>
欢迎页面将显示登录用户的用户名,使用EL显示请求参数的值。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>welcome page</title> </head> <body> Welcome,${param.custname } </body> </html>