SpringMVC+Hibernate+jQuery+js+css+jsp+nginx整合时,(1)jsp引入js,css无效;(2)插入数据库时某字段为空;(3)web.xml配置完后,从数据库读数据不为乱码,写入数据库为乱码;(4)model.addattribute(“list”,list)。在jsp页面${list.getName()}值为空。
一)项目简介:
(1) 基于SpringMVC+Hibernate+jQuery+js+css+jsp+nginx的购物网站。
(2) 对象:管理员,管理商品和客户,同时数据库自动更新。
(3)vip(每次购物费用可以优惠减一元)和一般用户界面,轮播图,低端为走动特效字体,商品详情为三级菜单,“网站简介”点击有特效,当未登录时,订单查询和查看余额不可查询,温馨提示为未登录状态,且不会显示“某某已登录”。
1)三级菜单
2)点击网站简介,动态缩放简介
(1) nginx操作数据库,读取图片,点击菜单栏水果进入
(1) 点击香蕉进入,里面数据显示都是随数据库动态变化的,整个页面的数据都是从数据库读出来的,包括轮动的图片,未登录无法加入购物车和购买,温馨提示登录,但是可以操纵“+”“-”,“+”到库存为止不能再加,“-”到为0不能再减4.当点加减数据库不变化,必须加入购物车订单数据库才相应变化,购买后,水果数据库库存才会减少。
(1) 问题解决:
整体架构这样
1) jsp引入js,css无效:
<1> springmvc.xml中配置<mvc:resources mapping="/css/**" location="/css/"/>
<mvc:resources mapping="/js/**" location="/js/"/>
<2> <link href="${pageContext.request.contextPath}/css/xxx.css"rel="stylesheet" type="text/css" />
<script src=” ${pageContext.request.contextPath}/js/xxx.js”></script>
2) 插入数据库时某字段插入数据为空,列如
name=”url”应该与类中定义的变量一样。
3) web.xml配置完后,从数据库读数据不为乱码,写入数据库为乱码。
<1>web.xml中
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<2>tomcat的server.xml中的
<Connector connectionTimeout="20000" port="8080"protocol="HTTP/1.1" redirectPort="8443"/>改为ConnectorconnectionTimeout="20000" port="8080"protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
(4) model.addattribute(“list”,list)。在jsp页面${list.getName()}值为空
Controller中return “Redirct:/shop/yyy”;改为return “xxx”;即可。“xxx”为跳入的jsp
感想:感觉自己还是挺菜的,用小型的项目做起来,虽然做的不是很华丽,只是实现了一些基本功能,才知道自学了一些东西知识没有掌握到位,做起来一路还是很吃力的,特别一些bug堵得…………不过还好最后解决了^-^!!!