Web开发中404错误总结

本文详细介绍了Web开发中常见的404错误类型,并提供了相应的解决方案,包括项目部署、URL地址、JAR包问题、服务器版本不兼容等。此外,还涉及了SSH框架和Struts2框架的特定错误处理方法。
<Context workDir="D:\eclipseworkspace\report2\work" docBase="D:\eclipseworkspace\report2" reloadable="true" path="/report"/>

 

相信很多人在做web开发时都遇到过404错误,对于刚入门的人来说更是经常会见到此错误。那现在就谈谈有哪些错误!

1,是否已经将项目成功部署到服务器上(另外还有项目是否被启动了,是否被加到Server.xml中了等)

2,看自己在浏览器中打的URL地址是否正确,另外Server.xml中的path值才是应该放在URL中作为项目名字来进行检索的,而不是检索实际放入服务器中那个项目文件夹的名字!

(比如上面的图1,URL上应该输入report而不是report2)

3,有的时候明明Html文件访问得了,但是一转到JSP或者Action,就报404错误。那么问题就是项目中的JAR包有问题,应该找一个另外可以运行的项目中把完整的JAR包全都拷贝过来,问题就能解决了。

4,在做项目的过程中,我还发觉了一种404的情况:就是远程服务器的Tomcat版本或JDK版本太低,不支持我用高版本JDK做的项目。这个时候就要右键项目——Properties——JavaCompiler——把编译版本调低,之后Eclipse会自动将项目重新编译一遍,这时候再放上去,项目就能运行了!~

5,项目搭了SSH框架后,如果框架配置文件(mgr、dao)写错,也会报404错误:class文件中没有set和get这个bean的property、bean的property里面name和ref写错、配置了实体类XML但没有这XML文件。

6,搭载Struts2框架后,从网页跳转到action里时报404错误:很有可能web.xml中没有写过滤*.action和*.do的代码!

 

PS:基本就这些了,如果还有别的情况,会进行更新!

### Web开发404错误的解决方案 在Web开发中,404错误通常表示服务器无法找到请求的资源。这种问题可能由多种原因引起,例如路径配置错误、静态文件未正确部署、路由规则不匹配等。以下是针对不同框架和技术栈的具体解决方案。 #### .Net Core项目发布到IIS后出现404错误 在将.Net Core项目发布到IIS时,如果遇到404错误,可能是由于Swagger在生产环境中被禁用导致的。默认情况下,.Net Core项目会在`ASPNETCORE_ENVIRONMENT`设置为`Production`时关闭Swagger。这可能导致访问时找不到对应的页面或API接口[^1]。 解决方法括: - 确保应用启动时加载了正确的中间件。例如,在`Startup.cs`文件中,检查是否正确配置了`app.UseRouting()`和`app.UseEndpoints()`。 - 如果需要在生产环境中调试,可以临时修改环境变量,将`ASPNETCORE_ENVIRONMENT`设置为`Development`以启用Swagger。 - 检查IIS中的URL重写规则,确保其与应用的路由配置一致。 ```csharp public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1")); } app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } ``` #### UniApp(Vue)打Web项目刷新后报404错误 在UniApp项目中,当页面刷新时出现404错误,通常是由于前端路由模式与服务器配置不匹配引起的。UniApp默认使用`hash`模式进行路由管理,但如果切换为`history`模式,则需要额外配置服务器以支持该模式[^2]。 解决方法括: - 使用`hash`模式:这是最简单的解决方案,只需在路由配置中保持默认设置即可。 - 配置服务器支持`history`模式:对于Nginx,可以在配置文件中添加以下规则;对于Apache或其他服务器,也需要类似的重写规则。 ```nginx server { listen 80; server_name yourdomain.com; location / { try_files $uri /index.html; } } ``` #### Java Web开发404错误的原因及解决方案 在Java Web开发中,404错误可能由以下原因引起[^3]: - `web.xml`中定义的Servlet或Filter未正确映射。 - 静态资源(如HTML、CSS、JS)未正确部署到服务器。 - 动态资源(如JSP或Servlet)路径配置错误。 解决方法括: - 检查`web.xml`文件中是否正确配置了Servlet和Filter的映射路径。 - 确保所有静态资源已正确复制到服务器的根目录或指定目录。 - 在代码中检查动态资源的路径是否与实际部署路径一致。 ```xml <servlet> <servlet-name>exampleServlet</servlet-name> <servlet-class>com.example.ExampleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>exampleServlet</servlet-name> <url-pattern>/example</url-pattern> </servlet-mapping> ``` ### 总结 404错误的解决需要结合具体的技术栈和场景分析。无论是.Net Core、UniApp还是Java Web开发,都需要从路径配置、服务器设置以及框架特性等方面入手排查问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值