黑马程序员技术交流社区
标题: 【广州校区】+【原创】Structs2入门 [打印本页]
作者: jianhong 时间: 2018-7-4 13:41
标题: 【广州校区】+【原创】Structs2入门
本帖最后由 jianhong 于 2018-7-4 13:44 编辑
一、struts2 概述
Struts2 是一种基于 MVC (表现层、业务层、持久层)模式的轻量级 Web 框架,它自问世以来,就受到了广大 Web 开发者的 关注,并广泛应用于各种企业系统的开发中
二、struts2 的入门案例
第一步:拷贝 struts2 必备 jar 包到 web 工程的 lib 目录
第二步:在类的根路径下创建一个名称为 struts.xml 的文件,并导入约束和配置(详细如下)
<?xml version="1.0" encoding="UTF-8"?>
<!-- 导入约束:
约束的位置:在 struts2 的核心 jar 包中
struts2-core-2.3.24.jar 中包含一个名称为:
struts-2.3.dtd 的约束文件
-->
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"struts-2.3.dtd" >
<struts>
<!-- 请求路径和执行方法的关系
package标签:主要的作用是用于分模块
name:唯一标识符,同一个项目,package的名字不可以相同
extends:继承,基于继承其他包的功能。struts-default是框架内置的package。
如果不继承会导致,内置的功能组件不能使用
-->
<package name="default" extends="struts-default">
<!--
action标签:请求路径和执行方法的关系
name:用于指定请求路径(url)
class:指定业务控制器的类名
method:指定执行的方法
-->
<action name="hello_say" class="com.itheima.action.HelloWorldAction" method="say">
<!-- 视图映射字符串和视图路径的关系 -->
<!--
result:用于配置返回
name:指定视图对应的映射字符串
标签内容:视图路径
-->
<result name="hello">/hello.jsp</result>
</action>
</package>
</struts>
第三步:在 web.xml 配置 struts2 的核心控制器(一个过滤器)
<?xml version="1.0" encoding="UTF-8"?>
<display-name>crm-annotation</display-name>
<!-- 配置 struts2 的核心控制器:一个过滤器 -->
<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.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
第四步:编写index.jsp页面(href是指定请求路径,和struts.xml的action name一致)
<%@ 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>
<a href="${pageContext.request.contextPath }/hello_say">say</a>
</body>
</html>
第五步:编写HelloWorldAction.java文件(类路径和名、方法名、返回值和Structs.xml配置的一致)
package com.itheima.action;
public class HelloWorldAction {
public String say() {
System.out.println(this);
System.out.println("HelloAction 中的 sayHello 方法执行了。。。。");
return "hello";
}
}
第六步:编写hello.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>
你好世界!!
</body>
</html>
项目目录结构如下:
第七步:把项目部署到Tomcat,启动Tomcat,访问index.jsp,点击say,将返回访问hello.jsp页面
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |