目录
2.3.2 查看项目结构“Project Structure”
前面几间讲了servet的产生环境、servlet容器概念、jsp的产生背景,现在本章进入实操,使用idea建立一个简单的servlet。
一、环境说明
1.1开发环境
名称 | 版本 | 安装方式 | 备注 |
系统 | win10 | - | 64位,旗舰版 |
jdk | 14.0.1 | exe | java开发工具目前最高最新版本 |
idea | 2020.1 | exe | java最著名的ide工具 |
具体安装见:《hualinux java 1.5:java开发工具idea 2020安装及配置》
1.2 tomcat下载
要用到servlet需要用到servlet容器,我这里使用的是tomcat免费开源的,点击进入tomcat下载页面,我这里使用的是tomcat9,目前最新版本为9.0.36,我这里是win 64位,所以下载的是64位的zip包,如下图
我把apache-tomcat-9.0.36-windows-x64.zip复制到D:\Program Files目录下并解压重命令为tomcat-9.0.36,如下图所示:
PS:解压就行了,不要自作聪明运行tomcat,等下需要在idea配置tomcat,idea会自动运行tomcat的,不需要你运行
二、建立servlet项目
2.1 创建servlet项目
如果你之前有建立过项目的话,先关闭项目(File-->Close Project),会到如下界面:
2.2 修改tomcat
修改一下tomcat,指定一下浏览器和编码,操作如下:
修改我修改为tomcat9.0,浏览器也修改一下
为了防止乱码,我在vm选项指定UTF-8
VM Optons:-Dfile.encoding=UTF-8
如:上面有一个叹号的Warning的警告,则需要配置一下Deployment,如下图所示:
2.3 添加tomcat lib库
2.3.1添加lib和classes目录(可选)
在WEB-INF目录下面建立两个目录一个是lib一个是classes
lib目录主要是存放库文件,现在没有不用理它,将来用到再配置。
class目录主要是看class(calss输出文件的目录,不配置默认输出out目录)
2.3.2 查看项目结构“Project Structure”
查看一下是否idea自动添加了Tomcat包
如果没有自动添加,则需要手工按如下操作添加,如果有则不用手工添加
三、建立一个简单的servlet
3.1 编写代码
1)在项目中的src右击-->new-->Create New Servlet
2)在doGet中添加如下代码
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();
java.util.Date today=new java.util.Date();
out.println("<body>hello servlet</body><br>"+ today);
发现有些变红色,是因为没有导入相关类
PS:是在doGet下添加,不要在doPost添加
doGet:表示处理get请求,浏览器输入回车就是get请求,如要post需要用HTML编写表单指点是post也行的
doPost:表示处理post请求
3.2 配置web.xml
打开WEB-INF下的web.xml,在<web-app>标签中间添加如下的<servlet>标签
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
上面的配置就是配置路由及映射,表示访问/hello路径找Hello.java类处理这个路径。
注:上面中
- <servlet-name>名字servlet的标记名,这个可以随便起
- <servlet-class>为servlet所在的类名,我这里是Hello,所以写Hello
- <url-pattern>为访问的url路径,我这里是/hello,却为“ip:8080/hello”或“域名:8080/hello”
3.3 测试
3.3.1 测试servlet是否正常显示
web目录下会有一个index.jsp,这个是主目录文件,可以看一下里机是什么内容
上面已经配置好tomcat了,运行tomcat,点工具栏中绿色小三角,如下图:
发现idea正下面自动帮运行tomcat了,如下图所示:
发现产生乱码解决方法见《hualinux servlet 2.7:IDEA 2020.1 x64 控制台日志乱码问题》
一会会自动弹出浏览器,我的是火狐,自动打开主页内容,如下:
刚才还记得我们配置了一下servet的吗,访问路径是/hello,所以访问路径为
IP:端口/hello
又因为idea在配置tomcat时把根目录改为 myservlet_war_exploded/,所以得有myservlet_war_exploded/加hello,即
直接在尾部加hello就行了
3.3.2 测试一下中文是否乱码
我在Hello.java的servet中指点下utf-8编码,现在我把hello servet改为 你好 servlet看一下是否中文乱码
再次运行一下tomcat看一下效果,在弹出的浏览器尾部输入hello看一下,效果如下: