Тема: Java та web-програмування
Доброго дня. Вивчаю веб програмування мовою Java. Виникла невеличка проблема:
Є сторінка, на ній форма. Ворма відправляється в сервлет через JavaScript, і скрипт отримує відповідь.
сервлет
@WebServlet("/Reg")
public class Registration extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("userName");
String pasw = request.getParameter("pasw");
Users u = new Users();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try{
/* TODO output your page here. You may use following sample code. */
out.println("<form>\n");
out.println("\t<div>"
+ "<label><input type=\"text\" name=\"login\" value=\"" + name + "\" id=\"login\"/>");
if(u.contains(name)){
out.println("<style class='red'> такий нікнейм зайнятий</style></label></div>\n");
}else{
out.println("<style class='green'> такий нікнейм вільний</style></label></div>\n");
}
out.println("\t<div>"
+ "<label><input type=\"tpasword\" name=\"pasw\" value=\"" + pasw + "\" id=\"pasword\"/>");
if(pasw.length() < 6){
out.println("<style class='red' id='psw'> короткий пароль</style>");
}
out.println("</label><button onclic='createPasword()'>Згенерувати пароль</button></div>/n");
out.println("\t<div>"
+ "<label><input type=\"text\" name=\"userName\" value=\"Петро\" id=\"name\"/>ім'я</label></div>\n");
out.println("\t<div>"
+ "<label><input type=\"text\" name=\"lastName\" value=\"Степанович\" id=\"lastName\"/>по-батькові</label></div>\n");
out.println("\t<div>"
+ "<label><input type=\"text\" name=\"family\" value=\"Степовий\" id=\"name\"/>прізвище</label></div>\n");
out.println("\t<div>"
+ "<label><input type=\"date\" name=\"date\" id=\"date\"/>Дата народження</label></div>\n");
out.println("\t<div><p/>"
+ "\t\t<input type=\"radio\" name=\"prava\" value='0'/> Гість\n"
+ "\t\t<input type=\"radio\" name=\"prava\" value='1'/> Учень\n"
+ "\t\t<input type=\"radio\" name=\"prava\" value='2'/> Вчитель\n"
+ "\t\t<input type=\"radio\" name=\"prava\" value='3'/> Модератор\n"
+ "\t\t<input type=\"radio\" name=\"prava\" value='4'/ onclic='adminPaswordEntered()'> Адміністратор\n"
+ "\t</div>"
);
out.println("\t<div id='admin'>"
+ "</div>\n");
out.println("\t<div></div>");
out.println("</form>");
}finally{
out.flush();
out.close();
}
}
//bla-bla-bla
}
Робочий скрипт
function registr(){
let url = "/Reg";
let body = "userName=" + document.getElementById("name").value +
"&pasw=" + document.getElementById("pasword").value;
let req = new XMLHttpRequest();
req.open("POST", url, true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.onreadystatechange = function(){
if (req.readyState == 4 && req.readyState == 200) {
regForm(this);
}
};
req.send(body);
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>Start</servlet-name>
<servlet-class>Start</servlet-class>
</servlet>
<servlet>
<servlet-name>Registration</servlet-name>
<servlet-class>Registration</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Start</servlet-name>
<url-pattern>/Start</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Registration</servlet-name>
<url-pattern>/Reg</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
при запуску кидається 404-еророю
Failed to load resource: the server responded with a status of 404 () (12:26:30:865 | error, network)
at http://localhost:8080/Reg
Чому так відбувається?
Дякую за допомогу.