Struts 2 入门

xiaoxiao2026-08-04  6

1.登录struts.apache.org站点,下载struts-2.1.6-all.zip并将其解压缩. 2.鼠标右击工程项目,选择properties-->Java Build Path-->Libraries,点击Add External Jars,把8个jar包导入进来.8个jar包如下: struts2-core-2.1.6.jar freemarker-2.3.13.jar commons-logging-1.0.4.jar ognl-2.6.11.jar xwork-2.1.2.jar commons-fileupload-1.2.1.jar struts2-convention-plugin-2.1.6.jar struts2-junit-plugin-2.1.6.jar 3.把如下配置加入项目的web.xml文件中 <!-- 定义Struts 2的FilterDispatcher的Filter --> <filter> <!-- 定义核心Filter的名字 --> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <!-- FilterDispatcher用来初始化Struts 2并且处理所有的Web请求 --> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 4.编写struts.xml文件,并将其放到WEB-INF/classes目录下 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > <struts> <package name ="mypack" extends ="struts-default"> <action name ="Login" class ="mypack.LoginAction"> <result name="error">/error.jsp</result> <result name="success">/welcome.jsp</result> </action > </package> </struts> 5.编写业务逻辑类. package mypack; public class BookService { private String[] booksFor = new String[]{ "Spring2.0宝典", "轻量级J2EE企业应用实战", "基于J2EE的Ajax宝典", "Struts,Spring,Hibernate整合开发" }; public String[] getBooks(){ return booksFor; } } 6.编写Action. package mypack; public class LoginAction extends ActionSupport{ private String username; private String age; private String position; private String[] books; public String[] getBooks() { return books; } public void setBooks(String[] books) { this.books = books; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } //处理用户请求的execute方法 public String execute() throws Exception{ //当用户请求参数的username等于cdh,返回success字符串, 否则返回error字符串 if (getUsername().equals("cdh")){ ActionContext.getContext().getSession().put("user1", getUsername()); BookService bs = new BookService(); setBooks(bs.getBooks()); return SUCCESS; }else{ return ERROR; } } } 7.编写login.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"> <%@taglib prefix="s" uri="/struts-tags" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Struts 2学习</title> </script> </head> <body> <s:form action="Login"> <s:textfield name="username" tooltip="请输入姓名" label="姓名"/> <s:textfield name="age" label="年龄"/> <s:textfield name="position" label="职业"/> <table> <tr> <td><s:submit value="提交"/></td> <td><s:reset value="取消"/></td> </tr></table> </s:form> </body> </html> 8.编写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=UTF-8"> <title>失败页面</title> </head> <body> 对不起,您登录失败! </body> </html> 9.编写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"> <%@page import="com.opensymphony.xwork2.util.*"%> <%@taglib prefix="s" uri="/struts-tags" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>成功登录</title> </head> <body> ${sessionScope.user1},您已经成功登录! <table border="1" width="360"> <caption>图书</caption> <!-- 迭代输出ValueStack中的books对象,其中status是迭代的序号 --> <s:iterator value="books" status="index"> <!-- 判断序号是否为奇数 --> <s:if test="#index.odd == true"> <tr style="background-color:#dedede"> <td>书名:</td> <td><s:property/></td> </tr> </s:if> <!-- 判断迭代元素的序号是否不为偶数 --> <s:else> <tr> <td>书名:</td> <td><s:property/></td> </tr> </s:else> </s:iterator> </table> </body> </html> 相关资源:struts2入门小案例源码
转载请注明原文地址: https://www.6miu.com/read-5050673.html

最新回复(0)