输入名字密码之后点击注册出现如下界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册</title>
<link href="style/common.css" type="text/css" rel="stylesheet">
<link href="style/add.css" type="text/css" rel="stylesheet">
<link rel="stylesheet" href="style/login.css">
<script type="text/javascript">
function validate_form(){
// 获得用户名的值
var username = document.getElementById("username").value;
if(username == null || username==""){
alert("用户名不能为空");
return false;
}
// 获得密码的值
var password = document.getElementById("password").value;
if(password == null || password==""){
alert("密码不能为空");
return false;
}
// 获得确认密码的值
var repassword = document.getElementById("repassword").value;
if(repassword != password){
alert("两次密码输入不一致");
return false;
}
return true;
}
</script>
</head>
<body>
<%@ include file="header.jsp" %>
<div class="content">
<div class="center">
<div class="center-login">
<div class="login-banner">
<a href="#"><img src="image/login_banner.png" alt=""></a>
</div>
<div class="user-login">
<div class="user-box">
<div class="user-title">
<p>用户注册</p>
</div>
<form id="regForm" enctype="multipart/form-data" onsubmit="return validate_form()" class="login-table" action="${pageContext.request.contextPath }/RegistServlet" method="post">
<div class="login-left">
<label class="username">用户名    </label>
<input type="text" id="username" class="yhmiput" name="username">
</div>
<div class="login-left">
<label class="username">密码       </label>
<input type="password" id="password" class="yhmiput" name="password">
</div>
<div class="login-left">
<label class="username">确认密码</label>
<input type="password" id="repassword" class="yhmiput" name="repassword">
</div>
<div class="login-left">
<label class="username">上传头像</label>
<input type="file" class="yhmiput" name="file">
</div>
<%-- <div class="login-left">
<label class="username">验证码    </label>
<input type="text" class="codeiput" name="checkCode">
<img id="codeImg" onclick="changeImg()" src="${pageContext.request.contextPath }/CheckImgServlet">
</div> --%>
<div class="login-btn"><button>注册</button></div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<p><span>M-GALLARY</span> ©2017 POWERED BY IMOOC.INC</p>
</div>
</body>
</html>
package com.imooc.domain;
public class User {
private String name;
private String password;
private String path;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public User(String name, String password, String path) {
super();
this.name = name;
this.password = password;
this.path = path;
}
public User(){
}
@Override
public String toString() {
return "User [name=" + name + ", password=" + password + ", path=" + path + "]";
}
}
package com.imooc.service;
import java.util.List;
import com.imooc.domain.User;
//import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;
public interface UserService {
public void regist(List<User> list,User user);
}
package com.imooc.service.impl;
import java.util.List;
import com.imooc.domain.User;
import com.imooc.service.UserService;
public class UserServiceImpl implements UserService{
@Override
public void regist(List<User> list, User user) {
// 保存用户信息
list.add(user);
}
}
package com.imooc.web.listener;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import com.imooc.domain.User;
@WebListener
public class InitServletContextListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent sce) {
}
public void contextInitialized(ServletContextEvent sce) {
System.out.println("项目中数据初始化了....");
// 创建一个用于保存用户信息的List集合
List<User> userList = new ArrayList<User>();
// 将List集合存入到ServletContext域中
sce.getServletContext().setAttribute("userList", userList);
}
}
package com.imooc.web.servlet;
import java.io.IOException;
import java.util.List;
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 com.imooc.domain.User;
import com.imooc.service.UserService;
import com.imooc.service.impl.UserServiceImpl;
@WebServlet("/RegistServlet")
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//接受数据
String username = request.getParameter("username");
String password = request.getParameter("password");
//封装数据
User user = new User();
user.setName(username);
user.setPassword(password);
//处理数据
UserService userService=new UserServiceImpl();
//从ServletContext域中获取用户的集合
List<User> list=(List<User>)getServletContext().getAttribute("userList");
userService.regist(list, user);
System.out.println(list);
response.sendRedirect(request.getContextPath()+"/login.jsp");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}

正在回答 回答被采纳积分+1
同学你好,根据贴出的报错信息,404是没有找到对应地址下的资源内容,检查贴出代码RegistServlet并没有书写错误,对应可能出现这样问题的原因:
1、项目没有重新启动RegistServlet,项目中RegistServlet没有对应的加载,同学尝试重启一下项目。
2、项目中存在之前的缓存内容,同学可以清理浏览器缓存、eclipse中项目缓存,清理后再来重启尝试一下。


3、同学项目启动是否有问题,控制台有报错信息吗,访问其他servlet可以访问吗,建议同学将项目的目录结构贴出。
4、form表单的提交形式是enctype="multipart/form-data",对应在servlet中接收数据不能使用getParameter方法,会获取不到对应的数据。
同学可以根据上述步骤一一排查一下
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程




恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星