一、Maven
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
这里用Maven来控制jar包的引入,之前一直使用手动考入的方式来控制,后来发现了Maven,爱不释手,就一直没停过,觉得很方便。
二、Struts2
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
由于是初学的javaweb,并且算是程序员中的大龄了,心比较焦急,开始的时候,一门心思想直接杀入SSH(spring+Struts2+hibernate)或SSM(spring+springMvc+mybatis)框架,但是发现欲速而不达。虽然能够根据网上给的直观例子,照模照样的画葫芦,但是却都是些一知半解。所以想自己重新一步步来,就先从Struts2开始吧。
三、搭建
1、eclipse新建maven项目
2、修改maven控制jar包pox.xml配置文件,引入相关的Struts2的核心jar包和其他的jar包
13 4.0.0 4com.mdf 5Struts2Demo 6war 70.0.1-SNAPSHOT 8Struts2Demo Maven Webapp 9http://maven.apache.org 1011 3012 17 18junit 13junit 143.8.1 15test 1619 23 24org.apache.struts 20struts2-core 212.3.1.2 2225 29javax.servlet 26javax.servlet-api 273.0.1 2831 33Struts2Demo 32
3、配置struts.xml文件
1 2 5 67 8 139 12/WEB-INF/context/success.jsp 10/context/failed.jsp 11
这里要注意:由于Struts2在读取配置文件的时候,默认以struts.xml的文件名来读取。如果这里自己改变文件名,可能会导致异常出错。
class:对应实际的包中的action的class。
result:对action中的返回值,进行相关的页面跳转。
4、配置web.xml文件
12 Archetype Created Web Application 34 6 7 8index.jsp 59 14struts2 1011 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 12 1315 18struts2 16/* 17
5、新建相关action类和bean类
action类:
1 package com.mdf.action; 2 3 import com.mdf.bean.Student; 4 import com.opensymphony.xwork2.Action; 5 6 public class StudentAction implements Action{ 7 8 public String execute(){ 9 Student.setName("madifei");10 if(Student.getName()=="madifei"){11 return "success";12 }else{13 return "failed";14 }15 }16 17 }
bean类:
1 package com.mdf.bean; 2 3 public class Student { 4 5 private static String name; 6 private static int age; 7 public static String getName() { 8 return name; 9 }10 public static void setName(String name) {11 Student.name = name;12 }13 public static int getAge() {14 return age;15 }16 public static void setAge(int age) {17 Student.age = age;18 }19 20 }
这里只是简单的进行Struts2的配置,所以bean类和action也只是做了两个简单的。
6、新建JSP显示页面
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 4 5 6 7Insert title here 8 9 10 这是success页面11 12
返回的success.jsp页面,对于failed的页面没做配置,原理一样,新增页面和struts的跳转路劲就好了。