页面跳转的时候是404
是不是所有的servlet都是如此如法炮制完成页面跳转即可?我现在的困惑就是impl的实现方法,有一些有返回值,可是我只想list增加,有的直接是Book类,不知道怎么设置方法,还有私有静态方法,这个是方法还是属性?用方法会报错,如果是属性,意义何在?阿贾克斯写在哪个里面?文件上传类是按照课程来么,写在哪里?jar除了课程用过的那些,除了json,还需要什么,在哪里下载
package com.imooc.servlet;
import com.imooc.domain.User;
import com.imooc.service.UserService;
import com.imooc.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@WebServlet(urlPatterns = "/UserServlet")
public class UserServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//收集数据
String username= request.getParameter("username");
String password = request.getParameter("password");
//封装数据
User user=new User();
user.setUsername(username);
user.setPassword(password);
//处理数据
UserService userService=new UserServiceImpl();
//获取集合
List<User> userList=(List<User>)getServletContext().getAttribute("userList");
//显示结果
response.sendRedirect(request.getContextPath()+"categoryList.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
<%@page language="java" contentType="text/html; ISO-8859-1" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
<link rel="stylesheet" href="css/login.css">
</head>
<body>
<div class="login">
<div class="header">
<h1>
<a href="/login.do">登录</a>
</h1>
<button></button>
</div>
<form action="/UserServlet" method="post">
<div class="name">
<input type="text" id="name" name="username">
<p></p>
</div>
<div class="pwd">
<input type="password" id="pwd" name="password">
<p></p>
</div>
<div class="code">
<input type="text" id="code" name="verifyCode" style="width: 150px">
<img src="code.jpg" style="width: 150px;height: 42px;vertical-align: middle;">
<p></p>
</div>
<div class="btn-red">
<input type="submit" value="登录" id="login-btn">
</div>
</form>
</div>
</body>
</html>
package com.imooc.domain;
public class User {
private String username;
private String password;
public User() {
}
public User(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
正在回答 回答被采纳积分+1
同学你好,关于同学的问题:
1、
报错提示books变量没有被初始化。常量需要在定义时就初始化,例如:
private static final List<Book> books = new ArrayList<Book>();
2、
404错误是路径找不到问题,在同学的截图中发现没有项目名,问一下同学在路径中添加项目名再试试。
3、重定向无法携带参数跳转,可以将数据存入request中,然后使用转发进行跳转。或者同学将数据存入session中,数据在整个session中有效,可以使用重定向,然后从session中获取数据。
4、新开一个链接和在这个窗口打开,与重定向无关。
如果是a标签,可以设置target="_blank",表示在新窗口打开链接,如:<a href="xxx" target="_blank">新窗口打开</a>。
如果在原来的窗口打开,可以设置target="_parent",如:<a href="xxx" target="_parent">原窗口打开</a>。
5、关于同学所说的用户登录类不是很理解。如下的用户信息处理类是用来做登录判断,如:
本次作业要求在监听器中存放几条用户信息,将用户信息存入到servletContext中,然后登录时,判断登录的用户是否存在,如:
本次作业需要在监听器中事先存放几条用户信息,登录时,使用存在的用户信息进行登录,不需要注add添加。
在Servlet中,获取登录的用户信息,获取存入ServletContext中的用户集合,将其作为参数,传入login()方法中,在login()方法中,判断登录的用户信息是否在servletContext中存在,如果存在,则返回0(这里的数字是随便写的,在servlet中接收返回值时,根据返回值来判断。比如存在返回,0,则在servlet中增加if判断,如果返回值为0,表示登录的用户存在,登录成功,跳转到显示分类的页面),否则返回1。
祝:学习愉快~
能转到UserServlet,但是404
属性定义依然报错,我需要跳转的页面都在web下,不是这个问题,如果不是代码问题我不知道能使什么情况。是不是大多数情况下使用转发都比较好,重定向无法保存数据不是很弱么,他有什么好处
同学你好,404错误是路径找不到报错,问一下同学categoryList.jsp是在WebContent目录下吗?如果不是,建议同学修改重定向的路径。另外如果categoryList.jsp页面在WEB-INF目录下,必须使用转发访问。
页面跳转可以使用转发和重定向进行访问。
在思路分析中,将需要的方法以及给出,如:
大部分方法的返回值都是void,如下的方法设置了返回值类型:
用户登录 的login()方法,返回值是int,可以用来判断是否成功登录,比如返回0,表示登录成功,返回1,表示用户名或密码错误等等。
根据图书ID来查询书籍信息的getBooksById()方法,该方法是查询书籍信息,查询到书籍信息后,将书籍信息返回,所以返回值是Book类型。
根据分类来查询书籍信息的getBooksByCategoryName()方法,该方法是通过分类名称查询书籍信息,该分类下可能有多个书籍信息,所以返回值List<Book>。
private static final List<Category> categoryDb;和private static final List<Book> books;是属性。categoryDb用来存放分类,books用来存放书籍信息。
Ajax查询的代码写在bookList.jsp页面中。
文件上传类安装课程来写。
项目所需要的的jar包,在之前的项目中都用过,同学可以从之前的项目中查找。
建议同学复习之前学过的课程,再来完成作业。
祝:学习愉快~
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星