ssm踩雷

第一:解决css、js等静态资源加载不到问题:

1、在web.xml中添加
<servlet-mapping>
			<servlet-name>default</servlet-name>
			<url-pattern>*.css</url-pattern>
		</servlet-mapping>
		<servlet-mapping>
			<servlet-name>default</servlet-name>
			<url-pattern>/html/*</url-pattern>
			<url-pattern>*.html</url-pattern>
			<url-pattern>/css/*</url-pattern>
			<url-pattern>*.css</url-pattern>-->
			<url-pattern>/fonts/*</url-pattern>
			<url-pattern>/js/*</url-pattern>
			<url-pattern>*.js</url-pattern>
2、在spring MVC配置文件applicationcontext.xml配置文件中添加:
<mvc:default-servlet-handler/>
		<mvc:resources mapping="/mapper/**" location="/mapper/" />
		<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
			<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
			<property name="prefix" value="/jsp/"/>
			<property name="suffix" value=".html"/>
		</bean>
3、关掉idea,关机重启。

第二:解决ajax向后台传值时后台拿不到值和浏览器卡死问题:

1、静态资源文件中的A:("#").val()拿到的值所对应的key要和contoller里面request.getParameter("A")要对应,
2、eneity里面属性要和数据库里的字段名要一致
3、ajax传向后台拿不到值:使用get()方法:
get(url,data,function(),datatype)
4、浏览器卡死问题分析:ajax向向后台发送get请求,等待后台发送数据回来,但是后台没有获取到值,没有成功实现dao层方法,不能向浏览器返回数据,就出现卡死:
	猜测解决方法:1、使用ajax异步请求实现数据传值,就不会出现拿不到之而浏览器卡死;
					2、使用get()或者post方法()

第三解决sqlException

:Error updating database. Cause: java.sql.SQLException: Field ‘id’ doesn’t have a default value
原因:查看数据库,原来是在创建的时候没有设置id自增长,所以在插入操作时,id字段是主键不能为空,有没有默认值就会报错

第四解决JSONEXECPTION

:net.sf.json.JSONException: A JSONArray text must start with ‘[’ at character 1 of

JSONArray jsonArray = JSONArray.fromObject(message);
        response.getWriter().println(jsonArray.toString());
	换成以下代码:
	JSONObject json = new JSONObject();
    json.put("result",message);
    response.getWriter().write(json.toString());

总结:1、将数据转化成json格式
JSONObject object = new JSONObject(); //创建Json对象
object.put(“username”, “张三”); //设置Json对象的属性
object.put(“password”, “123456”);
System.out.println(object.toString()); //调用toString方法将json对象转换成json字符串
2、将json数据发送给浏览器
//把json数据返回给浏览器:
PrintWriter out = cu.getWriterOut(response);
out.print(object.toString());
//或者
response.getWriter().write(jsonObject.toString());

第五:

完成对老师手动出题功能的添加试题功能,在浏览器上添加试题,然后使用get()方法将数据穿个后台,后台将数据封装到entity类中供dao层使用,
然后调用service层的添加方法,service层的添加方法又调用Dao层的添加方法,最后交给mybatis框架完成数据插入操作

第六:完成试题添加

,解决错误:错误分析:能从前台拿到数据,也风能封装到entity中,sql语句也是正确的但是查出的数据size是0;
也不报错,从前端页面到后端,产看变量是否对应,再查看SQL语句是否写错。

第七:错误,导致后台数据拿不到值:

jquery-3.1.1.min.js:4 Uncaught TypeError: Cannot read property '0' of undefined
    at val (jquery-3.1.1.min.js:4)
    at e (jquery-3.1.1.min.js:4)
    at xb (jquery-3.1.1.min.js:4)
    at Function.r.param (jquery-3.1.1.min.js:4)
    at Function.ajax (jquery-3.1.1.min.js:4)
    at addtestpaper ((index):69)
    at HTMLInputElement.onclick ((index):259)
原因:ajax里语法是否正确,是否确实少括号,逗号,变量名是否对应等
解决方案:我是在val后少些了(),添加上就好了
insert into wx_tab_test_paper (test_name,subject,grade,sum_gader,
        test_start_time,test_time,choose_number,choose_gader,choose_rander_num,
        choose_title_SD,completion_name,completion_gader,completion_rander_num,
        completion_title_SD,recognized_name,recognized_gader,recongnized_rander_num,
        recongnized_title_SD)values (#{test_name},#{subject},#{grade},#{sum_gader},
        #{test_start_time},#{test_time},#{choose_number},#{choose_gader},
		#{choose_rander_num},#{choose_title_sd},#{completion_name},#{completion_gader},
		,#{completion_rander_num},#{completion_title_sd},#{recognized_name},#{recognized_gader}
		#{recongnized_rander_num},#{recongnized_title_sd})

第八:再数据库插入操作时,报空指针异常,

主要从一下几个方面入手,一、看是否是实体类entity没有存入数据
二、是否dao层接口对象没有拿到,特别注意,如果是采用世界调用别的类的service接口会导致拿不到dao对象,会报空指针异常错误
解决方法:还是采用前台传值,再ctroller层取值,再调用service、service再调用dao层,就不会出现空指针异常,
如果要采用来和查询,使用多个不同的controller,就在前台,写两个方法传值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值