J2EE Servlet基础在浏览器上运行HelloServlet的方法
Servlet

servlet本身不能独立运行,需要在一个web应用中运行的
而一个web应用是部署在tomcat中。开发一个servlet需要
- 创建web应用项目
- 编写servlet代码
- 部署到tomcat中
IDEA操作具体流程
1.创建名为j2ee的项目
2.导入servlet-api.jar包(Servlet需要用到包中的相关类)
附上下载链接
链接: https://pan.baidu.com/s/1cb5BqQ1TrKcPiaf6zuPLFQ 提取码: xtq6
导入:
右键项目 open module setting
3.编写HelloServlet类。HelloServlet继承了 HttpServlet
并且提供了一个doGet方法。在浏览器中输入地址提交数据的方式是GET。所以该Servlet需要提供一个对应的doGet方法
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp){
try {
resp.getWriter().println("<h1>Hello Servlet!</h1>");
resp.getWriter().println(new Date());
} catch (IOException e) {
e.printStackTrace();
}
}
}
- get与post的区别
- get 访问某个地址是get方式,提交的数据会在浏览器显示出来。不可以提交二进制数据,比如上传文件
- post 在form中通过 method=“post” 显示指定。可以提交二进制文件
4.配置web.xml 目录web/WEB-INF下创建web.xml文件。
servlet-mapping下建立了映射关系。使得/hello路径映射到HelloServlet这个类
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
5.配置tomcat的server.xml。在host标签下加入Context标签。其中path="/" 就表示直接通过localhost/hello就可以访问网页。因为配置了 “/” ,会与root目录冲突。所以在配置完成后启动会发现root目录消失。
在host标签下加入(mac使用/分隔,windows使用\,path使用/)
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="/" docBase="//Users//ryu//Desktop//working//github-project//j2ee//web" debug="0" reloadable="false" /> </Host>
重启tomcat。docBase是j2ee的路径,appBase不需要变,虽然项目没有搭建在在tomcat的webapps下,但是docBase指向了我们应用的目录。
一些知识点
关于tomcat\work\下的Catalina
当tomcat启动的时候,就会把webapps这个文件夹下的项目,进行编译,然后存放到Catalina目录下
目录结构
jsp或html等文件是直属于Webcontent,与【META-INF】【WEB-INF】平级,不要将jsp文件放置到【WEB-INF】下面,WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。放错会引起404错误
关于启动
在IDEA中启动,会将项目中的java文件(HelloServlet)编译为class文件。所以如果是在控制台下运行tomcat的bin目录下的startup文件启动tomcat,会因为缺少编译过程导致运行失败【HTTP状态 500 - 内部服务器错误】
在idea中运行
代码知识SEO上一篇 : Python基于locals返回作用域字典
下一篇 : 详解Spring与Mybatis整合方法(基于IDEA中的Maven整合)
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!