目的:SpringMVC Spring Mybatis项目上手
方法:写个小项目
要严格按照java项目结构开发
推荐书籍:《javaWeb开发实战经典》
SSI由struts2,spring以及ibatis组成
Struts目前主要负责数据传递和控制方面
spring则依靠其强大的依赖注入技术实现了类似bean托管和整合等功能
ibatis作为一种轻量级的OR Mapping框架,提供了半自动化对象关系映射的实现
参考构架:
配置过程
1、在java Resoures/src下新建文件struts.xml
再建一个applicationContext.xml文件
配置 web.xml
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
*.action
contextConfigLocation
/WEB-INF/classes/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
60
login.jsp
form 内写了 action
submit之后 发起url请求
strust 拦截器 拦截所有 action 以.action结尾的所有请求(web.xml内配置filter)
然后转strust 拦截器的类之后
把请求去struts的配置文件 struts.xml 去找name相同的action
然后去applicationContext.xml找 action 的java类的路径
username
password
先给页面元素加名字属性
给类加页面上同名字的变量
然后给类加get/set方法
public class loginAction {
public String username;
public String password;
public void login() {
System.out.print("传递进来的用户名是"+username);
System.out.print("传递进来的密码是"+password);
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
注意跳转页面的url是
http://localhost:8080/Exam/logintest.action?username=taoning&password=123456
下面实现登陆页面的页面跳转
1.struts.xml文件
配置一个返回的名字以及变量
名字用于判断是否使用跳转 变量用于指向跳转链接
${successPath}
2.增加一个变量 String
增加set/get方法
给String 赋值 为跳转链接
public String successPath;
public String login() {
System.out.println("传递进来的用户名是"+username+" 传递进来的密码是"+password);
setSuccessPath("success.jsp");
return "success";
}
3.页面获取值
欢迎您 ${username}
这种方式可以让页面获取到所有的get/set的方法
最后达到的目的:
HTML---------JAVA
Sturs2.xml---spring.xml
配置页面动作与后台类的互动
配置 struts 关于通配符的使用 以后 所有的Action 都可以套用 类名+方法名加.Action 注意大小不通用 struts的数组是用1开始的 只有struts的数组是从1开始的
${successPath}
${errorPath}
${redirectAction}
${redirect}
在登陆页面上 可以做2个按钮 通过js 替换form的action内容 指向不同的类
```
$(document).ready(function() {
$("#btn").click(function() {
$("#form1").attr("action", "register_register.action");
$("#form1").submit();
})
})
```
注意 是form 不是 from!!
请区分大小写
类名_方法名.Action
登陆失败 弹出页面
在body里面增加一个隐藏属性
js文件中添加
如果页面属性 hid1 的值是是1 则弹出报错弹层
注意判断条件 要用两个等于号!!
var hid1value = $("#hid1").val();
if (hid1value == "1") {
layer.alert("您的用户名/密码错误", {
icon : 2,
skin : 'layer-ext-moon'
})
}
判断用户登陆是否正确 如果正确则返回登录成功的页面 失败则展示原主页面,且将 loginerror 数值置为1
if (username.equals("AAA") && password.equals("123")) {
setLoginerror("0");
setSuccessPath("success.jsp");
return "success";
} else {
setLoginerror("1");
setSuccessPath("index.jsp");
return "success";
}
关于注入:
如果配置完发现tomcat报错 按行找问题 可能的问题
1、单词拼写错误。
2、没有set和get方法导致无法注入数据。
3、类名写错 按CTRL无法出现下划线。
链接数据库
1、数据库IP
2、数据库用户名
3、数据库密码
配置 applicationContext.xml
1、定义一个接口