刚开始学习框架的时候感觉很简单,都是用到javaEE的相关框架,自己就想研究源码,但是学了很久之后毫无头绪,所以还是扎扎实实学好Struts毕竟框架做起来要比自己写javaEE要简单,下面我们就来一步步的学习Struts吧,
首先学习的第一步就是添加jar包 可以去http://pan.baidu.com/s/1c0fHb8W这里下载,包括了jar包和配置文件将jar包导入项目的lib目录下,配置文件导入src下即可
第二部就是修改配置文件 首先在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>
然后在struts.xml中配置相关项即可
下面我们来简单说一下配置文件
<!--
一般和java是一样的都是以包为组织单位但是这里的包不是java中的包 选项包括包名
namespace是访问的路径,extends是继承核心包,继承核心包之后才能使用相关核心功能
-->
<package name="packagename" namespace="/test" extends="struts-default">
<!--
action是具体要访问的action name依然是访问的路径,class是要访问的类的绝对路径,method是要访问类的某个方法
-->
<action name="demo" class="com.test.Demo" method="execute">
<!--
name 是指execute方法会返回一个字符串如果是success就会转发到result指定的路径
那如果是要重定向呢 ?只要加一个参数type="redirect",大家知道重定向是不能带着参数传递的那么我们就要考虑浏览器传递了/page/demo.jsp?userName=userName&userPass=userPass
-->
<result name="success">/page/demo.jsp</result>
</action>
</package>
下面我们就来做一个HelloWord程序
1 创建java类,这里我们在 com.test 下创建 HelloWord.class
package com.test;
public class HelloWord {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String execute(){
this.message = "这叼毛的视频做的还可以";
return "success";
}
}
2 创建/WEB-INF/page/demo.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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
${message}
</body>
</html>
修改配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="itcast" namespace="/test" extends="struts-default">
<action name="helloword" class="com.test.HelloWord" method="execute">
<result name="success">/WEB-INF/page/demo.jsp</result>
</action>
</package>
<!-- Add packages here -->
</struts>
当然发布项目什么的这里就不BB了,我的在浏览器输入http://localhost/Struts/test/helloword.action