点击图片可以查看大图

一、ssh纯注解框架的系统说明概览图

1、业务功能Action存放位置。

2、系统拦截器,所有的请求在这里拦截。

3、javaBean对象。

4、service业务处理层。

5、util是工具包,一些常用的java工具类存放在这里。

6、ssh框架的相关配置文件,这里采用了纯注解,所以没有了struts的配置。

7、静态文件存放,如js,css,图片等。

8、本地文件如果上传到服务器,这里设定一个路径upload。

9、jsp映射路径,放在这里外部请求就访问不到,必须要到Action才能访问到这里,提高系统安全性。

10、java的jar包存放。

11、一些基础的jsp页面存放,外部可以直接访问的,如404页面,分页的提取页面,以及其他功能重复的内容单独提取出来存放。

二、ssh框架详细图文解说流程图及运行原理

1、首先是访问网站链接,一般我们本地的链接是:https://localhost:8080/javawebxx/springmvcshuoming.html,如果部署到外网那就是类似:https://www.javawebxx.com ,原理都一样,往下看

2、当请求过来的时候先进入拦截器

3、拦截器可以根据用户的要求哪些是需要登录后才能访问的请求,哪些是随便看的链接,都在这里进行业务判定操作。

4、拦截器通过以后到了Action页面。

5、找到对应的请求网址,如上图。

6、进行业务处理后,把数据展示到jsp页面,有人有疑问,为什么是WEB-INF下的jsp/admin这样的路径??这些都是配置文件配置的,可以任意更改!!!如下图,我用箭头表示了一个访问请求如何在程序中流转

7、有些人问为什么ssh的网上下载的例子都是.do为结尾?.do是默认的,真正发布外网的时候都是html,没几个用.do,这个只是一个名词而已,可以任意修改,修改位置在web.xml里面如下:


					<?xml version="1.0" encoding="UTF-8"?>
						<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
							xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
							xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">	<!-- 加载spring配置文件 -->
							<context-param>
								<param-name>contextConfigLocation</param-name>
								<param-value>            classpath*:applicationContext*.xml        </param-value>
							</context-param>
							<listener>
								<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
							</listener> <!-- struts2 的配置 -->
							<filter>
								<filter-name>struts2</filter-name>
								<filter-class>project.interceptor.ProtalSessionHandlerInterceptor</filter-class>
								<init-param>
									<param-name>actionPackages</param-name>
									<param-value>project</param-value>
								</init-param>
							</filter>
							<filter-mapping>
								<filter-name>struts2</filter-name>
								<url-pattern>*.html</url-pattern>
								<url-pattern>*.json</url-pattern>
							</filter-mapping>
							<display-name></display-name>
						</web-app>
				

8、找到“url-pattern”这一行,看到没有*.html,可以改成任意后缀,如:*.abc都可以,后缀是可以配置的。

9、jsp页面通过遍历循环,或者直接展示,把数据库查询到的数据展示到页面上来,这样,就完成了一次访问请求。

10、扩展知识,访问请求分两种一种是同步访问,一种是异步访问(ajax),具体详细说明讲解扩展知识,访问请求分两种一种是post访问,一种是ajax,具体详细说明讲解

三、ssh框架下Action具体功能讲解

1、举个例子加入请求访问: https://localhost:8080/javawebxx/admin/student/list.html。

2、就是ip地址,localhost代表本地,如果是外网举个例子就是www.javawebxx.com:8080。

3、8080代表端口,java默认的,但是我们正常访问是不带8080的,因为最终发布后会把8080改成80端口,80端口是整个网络默认的可以不写所以就变成了www.javawebxx.com。

4、项目名称,也可以去掉。

5、就是@Namespace下的/admin。

6、student就是@requestMapping下的/admin/student。

7、就是最终的每个方法上面的@Action了。

8、这样一个请求就最终找到了对应的位置执行相关的代码了。

四、ssh框架下拦截器ProtalSessionHandlerInterceptor讲解

1、如图:这部分是需要用户登录验证的,只能登录成功的用户才会有CustomerBean这个值,不需要登录的直接可以访问。

五、ssh框架下jsp页面讲解

说明:jsp页面不区分框架,标准java写法,所以这里就用springmvc的截图了。

1、如图小数点展示,1是标准的一个jsp语法,不多说。

2、2就是一个公共内容的一个引用,把他提炼出来,然后大家都用这个。

3、3就是一个常规的css引用,和html一样的。

4、4就是一个标准的html标签。

5、5整个就是一个java的循环,把从数据库中查询的到的数据循环展示出来。

6、6也是一个引用,分页标签,因为每个功能都一样所以可以直接提炼出来做成公共方法。

7、javascript语法块。

8、整理看下来其实jsp页面就很简单,我们用公式表达就是jsp=html+java标签,是不是很简单。