发表于: 2018-02-02 22:59:19
2 570
今日完成:
1. war模式:将WEB工程以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;
2. Spring自带的字符编码过滤器主要针对“POST”请求,对“GET”请求无效。
<filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
采用数据还原的方法:
String userName= request.getParameter("userName");
userName=new String(userName.getBytes("iso8859-1"),"UTF-8");
通过修改Tomcat的配置文件来更改Tomcat的字符编码设置
server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
/>
Ps:对于GET请求的中文参数,不能再在后台进行数据还原,否则会乱码。
3. Log4j在springmvc中
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/conf/log4j.properties</param-value>
</context-param>
<!-- 设置根目录
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</context-param>
-->
<!-- 3000表示 开一条watchdog线程每60秒扫描一下配置文件的变化;这样便于日志存放位置的改变 -->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>3000</param-value>
</context-param>
<!-- 加载Spring框架中的log4j监听器Log4jConfigListener -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
4. 处理静态文件方法:
5. 转发与重定向
请求转发时,Model中的数据自动保存在request作用域中。
重定向时,Model中的数据自动保存在param环境信息中。
return "forward:/xxx":转发到页面或者另一个处理方法,forward是默认值,可以省略。
return "redirect:/xxxx":重定向到页面或者另一处理方法。
6.
明日计划:
1. 添加前端界面
2. 学习AJAX
遇到的问题:
1. 错误信息应该是在加载spring的contextLoader时没有找到log4j造成的,把spring的配置contextConfigLocation放在log4j配置之后
2. Tomcat放在C盘,没有权限写入
3. 导入json-taglib.jar包后,jsp页面可以正常显示,但是代码红色报错?
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<html>
<head>
<title>students2</title>
</head>
<body>
<json:object>
<json:array name="items" var="item" items="${list}">
<json:object>
<json:property name="name" value="${item.name}"/>
<json:property name="QQ" value="${item.QQ}"/>
</json:object>
</json:array>
</json:object>
</body>
</html>
收获:
1. 在spring框架中使用log4j记录日志
2. 使用json-taglib.jar包,在jsp页面中使用json标签
3. 使用model类向jsp页面传送json
评论