Java Web 项目启动报500错误可能的原因及相对应的解决方案

在学习Java web开发的初期遇到的一些问题汇总

访问项目时出现500错误

java web 项目500错误及解决方案
那么此时我们可以判定是服务器内容的错误,接着我们就从代码中排查可能出现的原因。
代码如下:

package com.cy.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class UploadFile extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	    doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	    request.setCharacterEncoding("utf-8");
	    response.setContentType("text/html;charset=utf-8");
	    PrintWriter writer = response.getWriter();
	    writer.write("Hello!");
	}

}

相关的配置代码文件如下(web.xml):

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>UploadFile</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<servlet>
		<servlet-name>uploadFile</servlet-name>
		<servlet-class>com.cy.servlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>uploadFile</servlet-name>
		<url-pattern>/upload</url-pattern>
	</servlet-mapping>
</web-app>

通过我们的对错误的分析和代码的排查可以确定错误的位置应该是配置文件中:
1.错误的描述是:

java.lang.ClassNotFoundException: com.cy.servlet

我们把它翻译成汉语:意思是类找不到异常:并且告诉我们找不到的类在com.cy.servlet这个包下。所以我们就去这个类中去找找看。发现我们并没有把类名写到配置文件的<servlet-class>com.cy.servlet</servlet-class>下,所以comcat就找不该类。此时我们就把我们类名加入进去就可以正常访问了。完整的应该是<servlet-class>com.cy.servlet.UploadFile</servlet-class>

效果图如下:

在这里插入图片描述

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值