IDEA下SSM框架项目笔记
来源:互联网 发布:第三方支付系统源码 编辑:程序博客网 时间:2024/05/24 00:28
希望如果有同样问题的同志看到笔记之后能有所帮助,我的环境是SSM,IDE是IDEA
IDEA的run窗口
想看System.out.println的输出信息,找了半天,在View->Tool Windows->Run,下次注意
ajax回传404错误
原来是由于之前服务器报错,tomcat停掉了,然后还调试了半天,重启就好了
ajax回传500错误
500是服务器错误,也就是java的代码问题,代码如下
@RequestMapping(value = "/dologin", method = {RequestMethod.POST }) @ResponseBody public Userdologin(@RequestBody User user) { return user; }
ajax上传的json数据为
{userName: "test", pswd: "123456"}
User实体类的定义如下
package entity;public class User { private Integer id; private String userName; private String pswd; private String userType; private Double initValue; private String walletAddr; public User(Integer id, String userName, String pswd, String userType, Double initValue, String walletAddr) { this.id = id; this.userName = userName; this.pswd = pswd; this.userType = userType; this.initValue = initValue; this.walletAddr = walletAddr; } public Integer getId() { return id; } public String getUserName() { return userName; } public String getPswd() { return pswd; } public String getUserType() { return userType; } public Double getInitValue() { return initValue; } public String getWalletAddr() { return walletAddr; }}
但是User的对象结构不只有userName和pswd两个属性,所以这样的注入是失败的,故而报错500,解决方案是使用String来传,最后修改的demo如下,是可以成功运行的
@RequestMapping(value = "/dologin", method = {RequestMethod.POST }) @ResponseBody public String dologin(@RequestBody String param) { Map maps = JSON.parseObject(param); System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!"); for (Object obj : maps.keySet()){ System.out.println("key为:"+obj+"值为:"+maps.get(obj)); } return "ok"; }
mybaits多参数查询
网上给了三种方式,我用了最后一种推荐的方式,清晰易懂,代码如下:
UserMapper.java
User selectByUserPswd(@Param("userName")String userName, @Param("pswd")String pswd);
UserMapper.xml
<select id="selectByUserPswd" resultMap="BaseResultMap"> select * from user where user_name = #{userName,jdbcType=VARCHAR} and pswd = #{pswd,jdbcType=VARCHAR} </select>
UserService.java
public User getUser(String userName, String pswd){ return userMapper.selectByUserPswd(userName,pswd); }
UserAction.java
@RequestMapping(value = "/dologin", method = {RequestMethod.POST }) @ResponseBody public User dologin(@RequestBody String param) { Map maps = JSON.parseObject(param); User result = userService.getUser((String)maps.get("userName"), (String)maps.get("pswd")); return result; }
chrome中的debugger工具
chrome中除了有单步调试的js的工具以外,还可以使用debugger来进行断点,方法很简单,在要停的js文件中的位置加上debugger;语句就行了,打开chrome之后打开开发者工具就会自动断点,如果不打开的话就会正常执行
参考资料:http://bbs.fanruan.com/thread-65003-1-1.html
IntelliJ IDEA2016 + tomcat 设置热部署
参考资料:http://blog.csdn.net/miaoy220/article/details/53450179
其中的On ‘Update’ action那里被我改成了Redeploy,即便是这样,对于html,js等静态文件通常改了之后要刷新几遍才会被更新,而java文件甚至常常需要按tomcat的redeploy才能被更新,但是也很好了,毕竟比restart节省了很多时间
JSTL无法在项目中使用
首先的原因就是maven中没有引入包,所以要配置maven依赖,代码如下:
<dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency>
参考资料:http://wj196.iteye.com/blog/787566
但是配置了之后还是不好用,这个时候reimport一下就行了,也就是在pom.xml文件上右键,Maven->Reimport,这样就好了
spring mvc无法引入静态模块
首先做一个过滤,让静态文件可以被识别
修改web.xml文件,增加对静态资源的url映射,要加在org.springframework.web.servlet.DispatcherServlet的前面
比如js和css文件
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern></servlet-mapping><servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern></servlet-mapping>
css和js等文件不要放到WEB-INF下面,要放到webapp里面,如图,我的结构是这样的
然后在mvc-dispatcher-servlet.xml上面做名字和路径的映射:
<!--html调用css,js,images等静态资源的路径使用方法--> <mvc:resources location="/images/" mapping="/images/**"/> <mvc:resources location="/js/" mapping="/js/**"/> <mvc:resources location="/css/" mapping="/css/**"/>
之后在html或者jsp文件里使用/images/a.jpg这样的方式就能访问到webapp下images文件夹里的图片了,比如我的html代码
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>医保账户</title><link href="/css/home.css" rel="stylesheet" type="text/css" media="all"><link href="/css/css.css" rel="stylesheet" type="text/css" media="all"><script type="text/javascript" src="/js/jquery.js"></script></head><body><!--top--><div class="top"> <div class="box"> <a href="home" class="return"><img src="/images/return.png"></a> 个人信息 </div></div></body></html>
springMVC使用html做视图
spring mvc的默认配置是识别jsp文件的,但是不识别html,默认配置如下:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/" /> <property name="suffix" value=".jsp" /> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> </bean>
所以在controller方法中返回值之后都默认去定位到jsp文件,即便是把jsp改成html也无法定位到html,controller中的代码如下:
@RequestMapping("/home") public ModelAndView home() { ModelAndView mav = new ModelAndView(); // 放入jsp路径,配置后缀是jsp,所以默认访问home.jsp mav.setViewName("home"); return mav; }
为了让他能够识别html,将配置改成了
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="order" value="10"></property> <property name="prefix" value="/WEB-INF/pages/"></property> <property name="contentType" value="text/html"></property> </bean>
controller中的代码如下:
@RequestMapping("/home") public ModelAndView home() { ModelAndView mav = new ModelAndView(); // 需要加html后缀 mav.setViewName("home.html"); return mav; }
上面两个代码就能够成功的定位到html文件了
js对象转换成json对象
明明是很简单的代码,网上却给出了一堆字符串拼接的,真是醉了,最简洁易懂的代码如下
var jsonData = {};jsonData.MainCmdID = 1;jsonData.SubCmdID = 1;var toStr = JSON.stringify(jsonData);alert(toStr);
json转Map对象
有一个阿里巴巴的包,叫做fastjson,我用的是这个
调用函数一句就行了
import com.alibaba.fastjson.JSON;//导入的包String param = {"username":"test","password":"123456"};Map maps = JSON.parseObject(param);
- IDEA下SSM框架项目笔记
- IDEA下SSM框架项目笔记三
- 初次在idea运行ssm框架项目
- IDEA创建maven项目 整合SSM框架
- IDEA创建maven项目 整合SSM框架
- IntelliJ IDEA下SSM框架整合、创建Maven项目流程(Spring + SpringMVC + MyBatis)
- SSM框架-Intellij IDEA
- idea搭建ssm框架
- 使用IDEA创建Gradle项目整合SSM框架
- idea搭建ssm项目
- SSM框架搭建项目整合学习笔记
- SSM框架下编写java web项目
- ssm框架学习---使用ubuntu环境下基于Intel idea搭建ssm环境一些问题总结
- idea搭建ssm框架问题
- 使用idea搭建SSM框架
- 使用IDEA搭建SSM框架
- #**IDEA**搭建**SSM**框架步骤
- IntelliJ IDEA整合SSM框架
- 并查集模板
- 牛客网模拟题-制造回文
- OC 可变字典下标[]语法糖不是 setObject:forKey: 而等效于 KVC
- Android软键盘弹出时有关布局的问题
- Android Studio 小技巧之 -- 多行显示Class文件
- IDEA下SSM框架项目笔记
- StudyAI上MatConvNet框架学习笔记之:框架详解
- 值得阅读和收藏的测试大师博客地址
- NYOJ 113 字符串替换
- JeeSite框架学习------树结构表创建
- OC 为自己的类增加下标支持 obj[key] = value
- CentOS 7 安装配置分布式文件系统 FastDFS
- 《人人都是产品经理》——总记
- 零基础写Java知乎爬虫之准备工作