Struts框架的入门使用

时间:2022-02-14 19:35:29

1.struts框架的使用

导入jar包

1.commons-fileupload-1.2.jar

2. freemarker-2.3.15.jar

3.ognl-2.7.3.jar

4.struts2-core-2.1.8.jar

5.xwork-core-2.1.6.jar

2.配置web.xml

  <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>

3.配置struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts> <!--
岁月可以褪去记忆,却褪不去一路留下的欢声笑语。2017,希望大家快乐继续,岁岁安怡 --> <!--
1、name指定包名,包与包之间的名称不能重复;
2、namespace包命名空间,用于拼我们访问包的
路径的,即URL。
不要忘记/线
3、extends指定包的继承关系的,这样我们可以
方便的使用Struts2提供的默认配置。
-->
<package name="demo"
namespace="/hello"
extends="struts-default">
<!--
1、action是我们自己要写的业务组件,
用于封装业务逻辑代码。
2、name是指定action的名称的,
该名称会用于我们访问action。
同一包下可以有多个action,
action名不能重复。
3、class指定该action对应的业务组件,
即我们自己定义的业务代码类。
4、method指定要访问的方法名。
这个method可以省略,若省略
则默认调用execute方法。
5、要访问当前的Action,其URL如下:
http://localhost:8080/Struts2demo01/hello/hello.action
http://ip:port/project_name/package_namespace/action_name.action
注意:action名称的后缀.action可以省略的
-->
<action name="hello"
class="demo.HelloAction"
method="sayHello">
<!--
1、用result指定action处理完请求之后,
要去向的页面。
2、name指定result的名称,
用于访问该result,
同一个action下可以有多个result,
他们之间不能重名。
-->
<result name="success">
/WEB-INF/jsp/helloStruts.jsp
</result>
<result name="error">
/WEB-INF/jsp/error.jsp
</result>
</action>
</package> </struts>

4.写error.jsp 以及helloStruts.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>Insert title here</title>
</head>
<body>
This is a Error!
</body>
</html>
<%@ 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>Insert title here</title>
</head>
<body>
Hello World!
</body>
</html>

5.写HelloAction这个java类

package demo;

public class HelloAction {

    /**
* 该方法在struts.xml配置过, 与配置文件相对应。
*/
public String sayHello() {
System.out.println("Hello,Struts!");
/*
* 返回的字符串与struts.xml中 定义的result对应,是用来找result的。
*/
return "success";
} }

运行