发表于: 2018-02-10 23:15:37
1 593
今天完成:
1— 设计DB
(1)找到网页上需要做动态的地方,参考了之前师兄的日报:
T10页面需要动态化的区域:
这个地方只需要统计student的数据库就可以了。
这个地方是学生信息,注意到标题是优秀学员,这个也算一条信息,应该在数据库中增加一条区分“优秀学员”和“普通学员”的数据。
数据库如下:
id唯一确定学员身份的信息,作为主键
Name学员昵称
state学员目前状态,已经毕业=1;还在学习=0,默认值是0;
Type学员类型,1表示“前端开发”;2表示“后端开发”;3表示“移动开发”;4表示“整站开发”;5表示“运营维护”。
introduce学员自我介绍,记得阿里巴巴手册上边说,“Varchar类型长度不要超过5000个字节。如果储存长度大于此值,则应定义字段类型为text,独立出来一张表,用主键来对应,避免影响其他字段的索引效率。”感觉这里边也不需要写上千字,所以选择varchar类型。
GoodOrNormal表示该学员是否优秀学员,1=优秀;0=普通学员。默认值是0。
最后两个是账户创建时间和最后一次修改时间。
T11页面需要动态化的地方:
这个表中的在学人数需要做成动态,但是数据可以在student表中查询得到,所以不用新建表了。跟师兄商量了一下,实际使用的时候是不需要新建表了,但是这个任务是为了练习动态网页,所以还是针对这个网页建立一个表吧。
建表如下
Type_Id表示职业代码,对应student表中的Type。
Title表示职业名称,就是“前端工程师”、“后段工程师”等。
Company表示目前多少家公司需要。
Tips表示提示。
建表完成。
2— 敲代码,首先实现下图中的功能。
(1)构造ssm框架,这里就不列出来了,很容易实现。
(2)实现了数字动态显示。但是页面的效果和图片全都没有了,如下图。
(3)坑一:
我把下载的静态资源放到了WEB-INF文件夹下。WEB-INF文件夹中的静态资源是无法通过url访问的。意思是如果把需要在网页上展示的图片放到了WEB-INF文件夹下,那么网页将无法加载这些图片。WEB-INF文件夹是Java 的web应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问目录。如果想在页面中直接访问其中文件,必须通过web.xml文件对要访问的文件进行响应映射才能访问。
(4)坑二:
图片路径问题。在jsp页面中展示图片,需要使用路径来加载图片。路径应该是:“项目名称/图片所在文件夹名称/图片名”的格式,而不应该是:“项目名称/webapp/图片所在文件夹名称/图片名”的格式。
(5)坑三:
web.xml中的过滤器将静态资源一起过滤掉了。有三种方法防止这个问题,第一种是应该在SpringMVC.xml文件中增加
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
这样,就不会把这些格式的静态文件过滤掉了。
方法二,在web.xml文档中的增加一行:
<mvc:default-servlet-handler/>
方法三,在SpringMVC配置文件中配置:
<mvc:resources mapping="/js/**" location="/static_resources/javascript/"/>
<mvc:resources mapping="/styles/**" location="/static_resources/css/"/>
<mvc:resources mapping="/images/**" location="/static_resources/images/"/>
以上方法明天再试,今天太晚了。
明天计划:
继续完成动态页面。
有时间学习Tiles 。
遇到问题:
生成动态页面的时候,数字动态了,但是页面中的静态资源全都没有了。发现踩了三个坑。具体见上方。
评论