Struts2+Hibernate5+Spring4自学历程(1)

本文档详细介绍了如何使用Struts2进行环境配置,包括从官网下载Struts2软件包,将必要的jar包添加到Eclipse的Dynamic Web Project中,配置JDK和Tomcat库。接着,讨论了web.xml的配置,以拦截所有请求并交给Struts2处理。然后,通过创建简单的登录程序,包括jsp页面、LoginAction类的编写,展示了Struts2的action和result配置。最后,文章提到了项目的目录结构,标志着第一个Struts2程序的完成。
摘要由CSDN通过智能技术生成
作为一名学生,也是到了求职的季节,纵观互联网企业,对三大框架都要求掌握,因此到处搜集资料,看书,看视频,想着也记录一下作为笔记,关于此框架有很多类似博客,毕竟都是差不多,仅从我个人角度作为记录,如有错误敬请指出,免得误导别人,不足之处见谅。。。
这里推荐使用eclipse安装时选择javaee,服务器是tomcat8,MySQL数据库,相关配置请自行搜索。

关于相关软件环境,我默认是已经配置好了。

Struts2

如果之前懂得Servlet原理肯定会更容易理解,但我就不讲这个了,直奔主题,
  1. Struts2工作原理
  2. Struts2环境配置
    1、首先从官网下载软件包,解压缩之后如图所示

    一般来说针对项目要求可以添加相应jar包,但有一些是必须的,在lib文件夹下,如图所示
    这里写图片描述
    2、然后打开eclipse,file->new->Dynamic Web Project
    把刚才的jar包复制到Webcontent->WEB-INF->lib中
    再把JDK配置好,tomcat库文件配置好,此时 Java Resources->Libraries中应该至少有三项,Apache Tomcat库,JDK,Web Libraries.
    至此环境搭建完成。
  3. Struts2配置文件
    【1】web.xml
    应位于Webcontent->WEB-INF
    这个文件是Java web的配置文件,不属于Struts2特有,而配置此文件是为了拦截所有请求,交给Struts2处理,具体配置如下
<?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>test</display-name>
  <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>
  <filter>
    <filter-name>Struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>Struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>
【2】struts.xml
应位于src目录下,此配置文件是具体action配置,对于一个小的登录程序配置如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
    <struts>
        <package name="test" namespace="/test" extends="struts-default">
            <action name="login" class="com.struts.actions.LoginAction">
                <result name="success">/welcome.jsp</result>
            </action>
        </package>
    </struts>
值得注意的是struts-2.5.dtd,此文件是对Struts2语法的定义,故必须要声明,这是通过URI声明,本地也有此文件,可以从本地声明,2.5是我使用的版本;
package定义包,继承自struts-default,namespace命名空间,而LoginAction则是一个action类,后面再说。至此配置文件结束。
以下以一个简单登录程序解释项目流程:
  1. 新建项目
  2. 添加框架支持
  3. 配置web.xml
    前三步就按上面配置来做,环境搭建完,编写具体代码。
  4. 新建jsp页面,action类
    以下是登录页面和欢迎页面

index.jsp

<%@ page language="java" import = "java.util.*" 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>登录</title>
</head>
<body>
    <form action="login.action" method="post">
        用户名:<input type="text" name="name"/><br>
        密码::<input type="text" name="pass"/><br>
        <input type="submit" value="提交">
    </form> 
</body>
</html>

welcome.jsp

<%@ page language="java" import = "java.util.*" 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>登录</title>
</head>
<body>
    welcome 【 ${name }】
</body>
</html>

然后是重点LoginAction类

package com.struts.actions;

public class LoginAction {
    private String name;
    private int pass;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getPass() {
        return pass;
    }
    public void setPass(int pass) {
        this.pass = pass;
    }

    public String execute(){
        System.out.println(name);
        System.out.println(pass);       
        return "success";
    }
}

这里是用了POJO类,当然一般是继承ActionSupport类,因为此类有很多实用接口,提供了很多默认方法,简化了开发;
当响应请求时自动执行execute方法。
这里有个说法,就是包名一定要是actions,不然会404报错.
4. 配置struts.xml
代码就是上面的,再贴一次

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
    <struts>
        <package name="test" namespace="/test" extends="struts-default">
            <action name="login" class="com.struts.actions.LoginAction">
                <result name="success">/welcome.jsp</result>
            </action>
        </package>
    </struts>

此时讲一下action和result
action:name属性就是jsp中的写的action,class就是对应的action类,
result:name是与调用action的execute方法返回值比较,然后转到相应界面
5. 发布运行
项目目录如下,至此可以发布,第一个Struts2程序完成。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值