今天完成的事情:优化了整体代码
把原来很多的controller里面的内容 该到了service里面去了
把原来用md5加密的 又用des加密 又用了base64 加密 不过报错 又删掉了
/登录页面
@RequestMapping(value = "/dologin", method = RequestMethod.POST)
public void doLogin(ModelMap model, HttpServletRequest request, HttpServletResponse response, User user) throws UnsupportedEncodingException {
if (!loginservice.checkUserPassword(user)) {
model.addAttribute("info", "用户名密码错误");
try {response.sendRedirect("test");}
catch (IOException e) {e.printStackTrace();}
} else
loginservice.loginSuccess(user, response);
try {response.sendRedirect("/u/job");
} catch (IOException e) {e.printStackTrace();
}
代码精简了很多 生成cookie 等等都放在了实现类里面
话说我把跳转都放到了实现类里 但是controller应该是控制跳转的
明天计划的事情:增加一个退出登录的功能
遇到的问题:
TypeException Report
MessageServlet.init() for servlet [mvc-dispatcher] threw exception
DescriptionThe server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
javax.servlet.ServletException: Servlet.init() for servlet [mvc-dispatcher] threw exception
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
Root Cause
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.handler.MappedInterceptor#1': Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
检查发现 更改了拦截器位置 原来放在工具类下 后来提另放到了一个包下 配置文件没有更改导致的
布尔类型比较加密后字符串 总是错误
原因:字符串比较不能== 要用 equals
==是判断两个变量或实例是不是指向同一个内存空间
equals是判断两个变量或实例所指向的内存空间的值是不是相同
==是指对内存地址进行比较
equals()是对字符串的内容进行比较
==指引用是否相同
equals()指的是值是否相同
Java 语言里的 equals方法其实是交给开发者去覆写的,让开发者自己去定义满足什么条件的两个Object是equal的。
java.lang.NumberFormatException: For input string: "?m"
在将字符串转换为number的时候格式化错误
不base64 加密去掉了 不知道为啥会出现?m token里面明明没有 下面是des加密taken
token=0cfd66221b842570d79d69c257ef80c31b60f36e0d0922f8
non-static method 'select(int)' cannot be referenced from a static
每次都想用 loginDao 写成LoginDao 大小写拼错了 然后就报这个 好多次了
java.security.InvalidKeyException: Wrong key size
这个一开始百度说是超出128位 更改了jdk jre的一个文件 然而并不起作用
后来看有的说是加密密钥不是8的倍数 回去一看果然如此 把密钥改成8位解决
收获:
任务开始时间:9.15
预计完成时间:9.20
是否有延期风险:延期两天
禅道链接:http://task.ptteng.com/zentao/my-task.html
评论