一、页面出现404错误
导入相应的jar包
commons-logging-1.2.jar
spring-aop-4.1.6.RELEASE.jar
spring-beans-4.1.6.RELEASE.jar
spring-context-4.1.6.RELEASE.jar
spring-core-4.1.6.RELEASE.jar
spring-expression-4.1.6.RELEASE.jar
spring-web-4.1.6.RELEASE.jar
spring-webmvc-4.1.6.RELEASE.jar
springMVC默认配置文件配置完成action-servlet.xml。
web.xml配置前端控制器
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
编写完成相应的controller
package h3c;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.RequestMapping;
import domain.User;
@RequestMapping(value={"/user"})
@Repository("userController")
public class UserController {
@RequestMapping("/login")
public String login(User user,HttpServletRequest request,String userName) throws UnsupportedEncodingException{
System.out.println(user +" "+userName);
return "main";
}
}
当在页面中输入http://localhost:8888/myweb/时,页面404.
原因:
解决办法:
将web.xml配置的前端控制器url配置成/,而不是/*。即可解决此问题
二、乱码解决:
1.确保workplace的编码,jsp,xml,html等编码一致,这个可以再myeclipse-->window-perference中进行修改。
workplace编码修改:myeclipse->window->perference->General->workplace
jsp编码修改:myeclipse->window->perference,弹出的perference框的左侧上方输入jsp,单击JSP,右侧进行编码修改,html,xml等文件同jsp修改方法
2.jsp页面中使用
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
3.web.xml中配置过滤器CharacterEncodingFilter
<filter>
<filter-name>ecode</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>
</filter>
<filter-mapping>
<filter-name>ecode</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.tomcat中修改配置
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
改为:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
即添加:URIEncoding="UTF-8"
通过以上配置大致可以解决乱码问题,如果get方式提交数据还出现乱码,则可以手动进行解决
tomcat使用iso8859-1编码,所以解决方式为:
new String(userName.getBytes("iso8859-1"),"UTF-8");