从小白一路走来很不容易,但是贵在坚持,每天看着自己一点一点的成长很欣慰,让我们一起加油,不定期分享自己在开发中遇到的坑和个人的见解,让话不多说Struts2开始。
一.创建一个web工程,加入struts2所需的jar包
二.配置struts2核心过滤文件(在web.xml中配置)
<filter>
<filter-name>strut</filter-name>
<filterclass>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>//这个需要基于Struts版本的变化,在sturs2的core核心包中。
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern> //过滤整个应用的所有请求
</filter-mapping>
三.编写一个action类,用于jsp页面的请求和响应。
public class HelloAction{
public String hello(){
<!--
Action类中方法的标准写法,只能返回String类型的结果。
-->
System.out.println("hello word");
<!-- 打印输出一行文本 -->
return "success";
<!-- 返回结果,可以带参数 -->
}
}
四.创建一个struts2的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- 上面这一行必须写,如果是用eclipse开发的话可以配置一下xmlcatalog,以后创建strut2xml文件的时候就会自动生成 -->
<struts>
<!-- i18n:国际化. 解决post提交乱码 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 指定反问action时的后缀名-->
<constant name="struts.action.extension" value="action"></constant>
<!-- 指定struts2是否以开发模式运行
1.热加载主配置.(不需要重启即可生效)
2.提供更多错误信息输出,方便开发时的调试
-->
<constant name="struts.devMode" value="true"></constant>
<!-- 上面的配置可配可不配,看自己的需求就可以了,下面是必配的 -->
<!-- package:将Action配置封装.就是可以在Package中配置很多action.
name属性: 给包起个名字,起到标识作用.随便起.不能其他包名重复.
extends属性: 继承一个指定包(所有包都是继承自struts-default的,不固定>
abstract属性:包是否为抽象的; 标识性属性.标识该包不能独立运行.专门被继承
-->
<package name="hello" extends="struts-default" >
<!-- action元素:配置action类
name属性: 决定了Action访问资源名.
class属性: action的完整类名(就是要访问的哪一个action类)
method属性: 前台访问路径,{1}代表的是匹配所有hello资源名类里的方法,访问路径
是hello_hello(后边的这个hello是你action里的方法名)
-->
<action name="hello_*" method="{1}" class="cn.ljm.a_hello.HelloAction">
<!-- result元素:结果配置
name属性: 标识结果处理的名称.与action方法的返回值对应.(就是你return出来的值)。
type属性: 指定调用哪一个result类来处理结果,默认使用转发.
标签体:填写页面的相对路径(可以不写默认,后边用到json格式可以还json,不固定)
result中间填写的是响应到哪一个jsp页面
-->
<result name="success" type="dispatcher" >/hello.jsp</result>
</action>
</package>
<!-- 下边的是包含其他的struts2xml文件,项目文件的多的话可以专门创建一个strutsxml来管理其
他的strus2xml文件,可写可不写 -->
<include file=""></include>
<include file=""></include>
</struts>
五.创建一个jsp文件来测试访问action里的方法,看是否可以访问的到
<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<a href="${pageContext.request.contextPath}/hello_hello.action">
Hello Word
</a>
<!-- 写一个A标签来访问一下刚刚写的action类里的方法,
${pageContext.request.contextPath}这一串代表的是从根目录开始访问
hello_hello.action这个是刚才在struts2xml文件中的配置,可以返回去看一下。
后缀.action是固定写法,前边是访问资源名+上action类里的方法名,就可以访问到啦
-->
</body>
</html>
还有最后一句:只要思想不滑坡,办法总比困难多。贵在坚持!!