记录下struts2.5下开发第一个程序:
struts2.5基础包选择:
注意:不能选取struts2.5中的 struts2-rest-plugin-2.5.16.jar,会导致莫名错误!
eclipse工具下不能将这些基础包作为用户包导入lib库,会发生加载时找不到主过滤器类org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter。
struts.xml和web.xml的配置
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance http://www.springmodules.org/schema/cache/springmodules-cache.xsd http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>frameworkStruts</display-name> <welcome-file-list> <welcome-file>index</welcome-file> </welcome-file-list> <!-- 配置struts核心过滤器 --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <!-- 为filter建立映射 --> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
注意:其中xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance " 原本是这样的。但后面使用标签时提示错误可以加上
http://www.springmodules.org/schema/cache/springmodules-cache.xsd http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd
之后不提示错误。
struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="basicstruts2" extends="struts-default"> <action name="hello"> <result>hello.jsp</result> </action> </package> </struts>
jsp页面
index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!-- 使用struts标签库 --> <%@ taglib prefix="s" uri="/struts-tags" %> <!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>Insert title here</title> </head> <body> <h1>welcome to struts2!</h1> <!-- 定义action的name为hello --> <p><a href="<s:url action='hello'/>">Hello World</a></p> </body> </html>
hello.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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> <h1>Hello Everybody!</h1> </body> </html>
至此HelloWorld开发完成!