提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:javaweb那些事。
提示:以下是本篇文章正文内容,下面案例可供参考
一、idea创建的javaweb默认代码的理解?
注:理解Javaweb项目运行流程
二、使用步骤
1.引入库
代码如下(默认代码):
package com.example.demo;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet(name = "helloServlet", value = "/hello-servlet")
public class HelloServlet extends HttpServlet {
private String message;
public void init() {
message = "Hello World!";
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html");
// Hello
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>" + message + "</h1>");
out.println("</body></html>");
}
public void destroy() {
}
}
2.文件结构
代码如下(示例):
3.结果展示
4、根据结果找相应的文件
(1)从结果上可以看到页面的标签为JSP-Hello World
按文件结构一个一个找可以发现:在index.jsp文件中可以找到对内容
不难看出这就是HTML中的标签’<‘title’>‘内容
结果页面中的内容文字Hello World!就是HTML中的’<‘body’>'内容
(2)结果页面的url地址为http://localhost:8080/demo_war_exploded/
那这个又是由源文件中的那个地方来决定的呢?
a、首先来分析一下url的结构
可以看到
名称 | 含义 |
---|---|
http | 协议名称 |
localhost | IP地址 |
8080 | 端口号 |
demo_war_exploded | 不确定 |
b、demo_war_exploded是什么东东呢?
很简单!
还是按照上述方法,按照文件结构一个一个找
很pity 从文件结构中的四个文件无法找出demo_war_exploded 的来源
还有一个地方我们可以看看
(3)运行时设置的东东(具体名字目前还不知道)
就是这里显示Tomcat 10.0.271的东西,点开他!
就会看到其编辑页面
很明显能看到一个叫URL的属性,里面显示的正是我们浏览器的链接地址
那我们修改这里能让我们访问的地址发生变化吗?
我们直接修改URL后缀为hello
然后重新运行程序
浏览器出现404错误,表示无法定位资源地址
那是什么问题呢?
再次仔细搜寻,可以看到在Tomcat的属性设置页面中还有一个地方也存在demo_war_exploded
这个叫deployment 中文意思叫部署,很贴近
往下拉发现了
application context中文意思是项目背景,也很贴近
修改这里的名称为hello,再次运行程序
可以看到成功出现结果
此时Server 栏中的URL仍为hello,并未发生变化
在尝试修改application context的内容为hello1
再次查看Server栏中的URL发现自动变成了hello1
重启程序后成功点亮
总结
提示:这里对文章进行总结:
综上我们可以发现以下几点
- 对项目的URL更改不要直接更改Server 栏中的URL地址而是要更改application context的内容,因为URL的内容会随着application context的变化而变化
- 在我们运行了程序之后,浏览器显示的就是index.jsp前端页面
- 目前尚不知道HelloServlet这个文件的作用是什么。