struts2入门,从下载到简单的配置
来源:互联网 发布:网络电视直播在线看 编辑:程序博客网 时间:2024/06/13 08:41
最近在学习Struts2框架,写一篇博客供自己复习和刚入门的朋友学习。
由于是新人第一次写且文笔不太好,而且写的东西过于基础,大佬收下留情
由于是使用篇,就不写偏概念的东西了,个人还是比较喜欢撸起袖子干事情
欢迎大家提出意见修改~
一、Struts2的下载:
1、首先是Struts2的官网:http://struts.apache.org/
2、然后是点击Download(ps:可能响应速度比较慢,耐心等待即可)
3、点击下图中的方框内的超链接下载(ps:当前最新的版本是2.5.10.1,由于我不是很喜欢用最新的的软件和框架所以我下载的是2.3版本的)
4、下载好并解压后打开目录下的apps文件夹(ps:因为是war包所以可以用解压软件打开,可以自行百度下)
我们选择struts2-blank.war解压
5、我们暂时先不管解压的这个东西,这个东西是struts2的一个空白的模板,我们先打开Eclipse,创建动态的web项目
然后将我们打开刚刚解压struts2-blank.war的文件中的WEB-INF文件夹(这是装java代码文件和配置文件)
由图可以看到:
lib文件夹:是装的struts2框架的一些封装好的代码架包
src文件夹:是装struts2配置和java源文件的文件夹(图片描述有点出入,不修图了)。
还有的就是web.xml的配置
二、struts2在Eclipse上的配置和使用
1、打开刚刚创建的web项目我们先打开struts2里刚刚我们解压的文件夹里的lib文件
将里面所有架包都导入web项目的lib里(ps:这里都是java web的基础就一笔带过)
2、我们先配置web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>sturts2_web</display-name> <!-- Struts2的web.xml配置 --> <filter> <!-- 和Java web的配置过滤器的方法相同 --> <filter-name>struts</filter-name> <!-- filter-class里放Struts2的核心过滤器类 --> <!-- 等等上图如何寻找这个路径 --> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <!-- 这里的filter-name必须和上面的filter里的一样 --> <filter-name>struts</filter-name> <!-- 所有的网页都会被struts2拦截下来处理 --> <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>
因为我是用的2.3的struts不是最新版的,所以找filter反射类的路径不太一样
这是在我导入架包后Eclipse自动在web项目下的架包管理里的,因为我Eclipse的设置问题,所以我们看到的是一层一层的包
正常方式的找到文件右键,选择复制文件限定名,然后把复制出的文本后的.class去掉,就是我们刚刚的那个filter-class了
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
3、在我们之前解压的struts2的空白项目的web-inf的java下面找到struts.xml文件复制到web项目下的src下
(ps:一定只能在src下不能放在src的任何pakage下)
也可以自己在src的目录下配置一个struts.xml
建议:不要去背这些代码,背起来太困难我们需要知道怎么用就好了,直接复制粘贴就好哈哈(有多余的时间可以研究下)
以下是struts.xml的路径显示
以下是struts.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"><struts> <!-- 这是动态访问action中的某个方法,下一个博客详细讲解 --> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <!-- 开发者模式,true是打开,在改完java代码后不需要重新启动服务器 --> <constant name="struts.devMode" value="true" /> <!-- struts2的固定写法pakage --> <!-- name等于default必须这么写 --> <!-- extends等于struts-default必须这么写才能找到struts2框架的一些方法 --> <package name="default" namespace="/" extends="struts-default"> <!-- 默认的action名字,当请求的action名字找不到的时候会去找名字为index的action --> <default-action-ref name="index" /> <!-- 当任何action或者说只要返回值为result中name的值就会请求转发到一下的路径 --> <!-- 接收全局的返回值 --> <global-results> <result name="error">/WEB-INF/jsp/error.jsp</result> </global-results> <!-- 异常处理 --> <global-exception-mappings> <!-- 当发生java的异常的时候就会返回error,配合上面的全局返回值使用,能达到报错就跳转到开发人员自定的页面 --> <!-- 提高用户的体验度 --> <exception-mapping exception="java.lang.Exception" result="error"/> </global-exception-mappings> <!-- 以下是重点 --> <!-- action是请求的事件,哎我也不会描述了,就是类似于java web中 *.do这种写法--> <!-- name等于Login_*这种写法和java web的*.do的写法是差不多的 --> <!-- 但是这里的*配合后面的method="{1}"是寻找class映射出的类中的方法,*和方法的名字必须一样 --> <!-- class="映射类的路径" 测试是否对的就按着Ctrl将鼠标移动在该路径上,如果出现下划线说明映射成功 --> <!-- method="{1}" 是配合name中*的写法来寻找映射类中的方法 --> <action name="Login_*" class="action.LoginAction" method="{1}"> <!-- 映射方法有返回值 如果返回"ok"就请求转发ok.jsp的页面 --> <result name="ok">/page/ok.jsp</result> <!-- 如果方法返回"no"就请求转发no.jsp --> <result name="no">/page/no.jsp</result> </action> </package></struts>
以下是action.LoginAction映射类中的java代码
package action;import java.util.Random;public class LoginAction {//注意这里的方法名和请求的Login_*中后面*所替代的相同public String login(){//做了一个随机数等等做判断用Random ra=new Random();if(ra.nextInt()%2==0){//随机数是偶数就返回okreturn "ok";}else{//随机数不是偶数就返回noreturn "no";}}}
以下是index.jsp的代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 这下面的是一串配置路径的代码,不然以后将jsp文件放在某个文件夹下可能会找不到该jsp,比如刚刚的ok.jsp我是放在page文件下的 --> <%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><!-- 和上面那串路径的代码一起的 注意放在的位置,可以配置下jsp的模板 --><base href="<%=basePath%>"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><!-- 这里的href里的路径就是刚刚action里面的name属性 name="Login_*" 现在*变成了login表示要去寻找action映射类中的login方法 --><a href="Login_login">点击我向struts2发送请求</a></body></html>
测试结果我就不贴上来了
这是最基础的Struts2的配置教程,给刚入门的朋友提供以下配置基础
如果需要深入的了解struts2的话网上有许多的代码和一些功能
拦截器,校验器,防止重复提交等常用的
还有一些struts2的常用的xml配置
大家可以上百度查查学习下,以后我也会慢慢的写一些基础教程(我也就懂点基础哈哈)
有什么说的不足的忘大家点出来,大家互相进步。
- struts2入门,从下载到简单的配置
- 简单教程---MySQL从下载到配置
- struts2 从入门到总结
- Struts2入门的入门------下载,配置,基本概念总结
- Struts2的简单入门
- 《Eclipse从入门到精通》中软件的下载地址
- 《Eclipse从入门到精通》中软件的下载地址
- Struts2的入门配置
- Struts2 第一课 入门配置与 简单的登录
- RxJava从入门到放弃1.0--rxjava的简单使用
- Java学习从入门到精通的简单介绍
- Struts2的简单配置
- BT下载从入门到精通
- Struts2从入门到精通(一)Struts2概述
- Java从入门到精通—配置自己的环境变量
- Struts2 下载的一些配置
- Struts2简单配置与入门实例
- 从下载php到配置phpStrom步骤
- Spark入门(2)——生态系统
- 端口的状态详解
- linux命令学习与理解
- java基础知识--IO篇
- I2C 时序详解,精确到每一个时钟
- struts2入门,从下载到简单的配置
- 二叉树的建立和遍历
- 面试问题待解答
- FPGA中SRL16资源
- 如何理解beta分布
- Linux下安装部署Redis
- jQuery之ajax函数的一个小例子
- 【转】JVM调优总结(九)-新一代垃圾回收算法
- 【stm32f407】SD协议(二)-SD卡