以下为我个人在过程中遇到的问题及解决方法
可能不适合所有情况
问题一 点击startup.bat时窗口闪退
不过我感觉这个不算问题,之前没改过时程序还是正常运行了
右击该文件,点击编辑,在文章的末尾加上一个pause,这样就能防止闪退,然后再运行一下它,看上面的报错信息。把报错信息copy到百度上就行
我遇到的报错信息是由于没有设置jdk和jre路径,所以在文件开头加上了路径
每个人的路径不一样
但不出意外的话应该是这个问题
jre就在jdk里面
问题二 jdk中没有jre文件
我最开始用的是jdk15,里面没有jre文件,所以换了一个jdk18就好了
好像也有其他解决方法,但我电脑里有jdk18,所以就用这个了
更换后记得也要改ecilpse里配置,这些具体百度就像
jre就是这个
问题三 html无法传数据进入servlet
我这是eclipse自动配置web.xml出错导致的问题,解决方法:
创建servlet时别选自动注册
在eclipse打开WebContent/WEB-INF web.xml
在标签 welcome-file-list和web-app中加上这些代码
81行和85行的名字必须一样,82行就是包名+servlet的名字,86行随便取什么名字都行,86行决定了html中url的路径,比如我的就是var url="/Text/hello";
Text是项目的名字
其他html的配置都放在这里
对于各种包引入时出的错
刚发现的一个问题,在导入jquery的时候把jquery外面那一层文件合着一起拷到resourse里,否则可能会导致html找不到jquery!!!
jdbc和json要先把包放进文件夹,再在src的build path引入
控制台上常见的几个报错
404:一般是各种链接出了问题,注意一下路径,大小写
500 一般是后端问题,检查一下java代码
我的代码
注册案例的代码
html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<h1>欢迎进入</h1>
<div>
<label>用户名</label><input type="text" id="userName">
</div>
<div>
<label>密码</label><input type="password" id="password">
</div>
<div>
<button id="loginbtn">登录</button>
</div>
<div>
<a href="/Text/register/register.html">没有账号?注册一个!</a>
</div>
<script src="/Text/resource/jQuery/jQuery-2.1.4.min.js"></script>
<script>
$('#loginbtn').on("click",function(){
var userName=$('#userName').val()
var password=$('#password').val()
alert(userName+"!"+password)
var url="/Text/hello";
var d={
"userName":userName,
"password":password
}
$.ajax({
type:"post",
url:url,
dataType:"json",
data:d,
success:function(data){
if(data.code=="ok"){
alert("登录成功")
window.location ='/Text/prime/mainPage.html'
}else{
"登录失败"
}
}
})
})
</script>
</body>
</html>
java代码
package login;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
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.alibaba.fastjson.JSONObject;
/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see Servlet#init(ServletConfig)
*/
/**
* @see Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Servlet#getServletConfig()
*/
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
/**
* @see Servlet#getServletInfo()
*/
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name=request.getParameter("userName");
String password=request.getParameter("password");
System.out.println(name+":"+password);
JSONObject o=new JSONObject();
if(LoginAccess.checkUser(name, password)) {
o.put("code", "ok");
}else {
o.put("code","fail");
}
PrintWriter pw=response.getWriter();
pw.print(o);
pw.close();
}
}