Sruts2入门及搭建详解(一)

从小白一路走来很不容易,但是贵在坚持,每天看着自己一点一点的成长很欣慰,让我们一起加油,不定期分享自己在开发中遇到的坑和个人的见解,让话不多说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>

还有最后一句:只要思想不滑坡,办法总比困难多。贵在坚持!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值