Skip to content

Commit 6537f76

Browse files
committed
Spring MVC practise with bootstrap.
1 parent 8f0b95c commit 6537f76

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+21530
-385
lines changed

.idea/artifacts/rainbow_war_exploded.xml

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/libraries/Maven__commons_io_commons_io_2_2.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/libraries/Maven__javax_servlet_servlet_api_2_5.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 444 additions & 336 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pom.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,25 @@
9999
<version>1.2</version>
100100
</dependency>
101101

102+
<dependency>
103+
<groupId>javax.servlet</groupId>
104+
<artifactId>servlet-api</artifactId>
105+
<version>2.5</version>
106+
<scope>provided</scope>
107+
</dependency>
108+
109+
<dependency>
110+
<groupId>commons-fileupload</groupId>
111+
<artifactId>commons-fileupload</artifactId>
112+
<version>1.3.1</version>
113+
</dependency>
114+
115+
<dependency>
116+
<groupId>commons-io</groupId>
117+
<artifactId>commons-io</artifactId>
118+
<version>2.2</version>
119+
</dependency>
120+
102121

103122
</dependencies>
104123
</project>

rainbow.iml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@
6060
<orderEntry type="library" name="Maven: org.aspectj:aspectjrt:1.8.10" level="project" />
6161
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.10" level="project" />
6262
<orderEntry type="library" name="Maven: jstl:jstl:1.2" level="project" />
63+
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:servlet-api:2.5" level="project" />
64+
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.1" level="project" />
65+
<orderEntry type="library" name="Maven: commons-io:commons-io:2.2" level="project" />
6366
</component>
6467
<component name="TemplatesService">
6568
<option name="TEMPLATE_FOLDERS">
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package controller;
2+
3+
import org.apache.log4j.Logger;
4+
import org.springframework.stereotype.Controller;
5+
import org.springframework.ui.ModelMap;
6+
import org.springframework.web.bind.annotation.CookieValue;
7+
import org.springframework.web.bind.annotation.RequestMapping;
8+
import org.springframework.web.bind.annotation.RequestParam;
9+
10+
import javax.servlet.http.HttpServletRequest;
11+
import javax.servlet.http.HttpServletResponse;
12+
13+
/**
14+
* Created by pengfei on 2017/9/24.
15+
*/
16+
17+
@Controller
18+
@RequestMapping("/domesticTicket")
19+
public class DomesticTicketController {
20+
21+
private final static Logger logger = Logger.getLogger(DomesticTicketController.class);
22+
23+
@RequestMapping("/home")
24+
public String visitHome(@RequestParam(value = "userName") String userName, @RequestParam(value = "userID") Integer userID, ModelMap model) {
25+
logger.info("Visiting guest house home!");
26+
27+
System.out.println(userID);
28+
System.out.println(userName);
29+
30+
model.addAttribute("id", userID);
31+
model.addAttribute("name", userName);
32+
33+
return "domesticTicket/domesticTicketHome";
34+
}
35+
36+
@RequestMapping("/testHttpServlet")
37+
public String testHttpServlet(HttpServletRequest request, HttpServletResponse response, ModelMap model) {
38+
String name = request.getParameter("name");
39+
String id = request.getParameter("id");
40+
41+
System.out.println(name);
42+
System.out.println(id);
43+
model.addAttribute("message", "Test http servlet success!");
44+
45+
logger.info("Test http servlet success!");
46+
47+
return "hello";
48+
}
49+
50+
@RequestMapping("/testCookie")
51+
public String testCookie(@CookieValue("JSESSIONID") String sessionID, ModelMap model) {
52+
logger.info("Getting session id with cookie value");
53+
54+
System.out.println(sessionID);
55+
model.addAttribute("message", "Test cookie value success!");
56+
model.addAttribute("sessionID",sessionID);
57+
58+
return "hello";
59+
}
60+
61+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package controller;
2+
3+
import org.apache.log4j.Logger;
4+
import org.springframework.stereotype.Controller;
5+
import org.springframework.ui.ModelMap;
6+
import org.springframework.web.bind.annotation.PathVariable;
7+
import org.springframework.web.bind.annotation.RequestMapping;
8+
9+
/**
10+
* Created by pengfei on 2017/9/24.
11+
*/
12+
13+
14+
@Controller
15+
@RequestMapping("/guestHouse")
16+
public class GuestHouseController {
17+
18+
private final static Logger logger=Logger.getLogger(GuestHouseController.class);
19+
20+
@RequestMapping("/home/{id}")
21+
public String visitHome(@PathVariable("id") Integer id, ModelMap model){
22+
logger.info("Visiting guest house home!");
23+
24+
System.out.println(id);
25+
model.addAttribute("id",id);
26+
27+
return "guestHouse/guestHome";
28+
}
29+
30+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package controller;
2+
3+
import org.apache.log4j.Logger;
4+
import org.springframework.stereotype.Controller;
5+
import org.springframework.ui.ModelMap;
6+
import org.springframework.web.bind.annotation.RequestMapping;
7+
8+
/**
9+
* Created by pengfei on 2017/9/24.
10+
*/
11+
@Controller
12+
@RequestMapping("/hotel")
13+
public class HotelController {
14+
15+
private static final Logger logger=Logger.getLogger(HotelController.class);
16+
17+
@RequestMapping("/home")
18+
public String visitHome(ModelMap model){
19+
logger.info("Visiting hotel home page!");
20+
21+
System.out.println("hotel home!");
22+
23+
return "hotel/hotelHome";
24+
}
25+
}

src/main/java/controller/LoginController.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.springframework.web.bind.annotation.ModelAttribute;
88
import org.springframework.web.bind.annotation.RequestMapping;
99
import org.springframework.web.bind.annotation.RequestMethod;
10+
import org.springframework.web.bind.annotation.RequestParam;
1011
import org.springframework.web.servlet.ModelAndView;
1112

1213
/**
@@ -18,19 +19,22 @@ public class LoginController {
1819
private final static Logger logger=Logger.getLogger(LoginController.class);
1920

2021
@RequestMapping(value = "/login", method = RequestMethod.GET)
21-
public ModelAndView get(){
22+
public String get(){
2223
logger.info("Inside login get method");
23-
return new ModelAndView("login","command",new UserInfo());
24+
return "home";
2425
}
2526

27+
//public String login(@RequestParam("name") String name, String password, ModelMap model){
28+
//public String login(String name, String password, ModelMap model){
29+
2630
@RequestMapping(value = "/loginHere",method=RequestMethod.POST)
27-
public String login(@ModelAttribute UserInfo user, ModelMap model){
31+
public String login(@RequestParam("name") String name, String password, ModelMap model){
2832
logger.info("Login controller begin service");
2933

30-
model.addAttribute("password",user.getPassword());
31-
model.addAttribute("name",user.getName());
34+
model.addAttribute("password",password);
35+
model.addAttribute("name",name);
3236

33-
if(user.getPassword()==null)
37+
if(password==null)
3438
throw new RuntimeException("Password should not be null!");
3539

3640
logger.info("Login controller end service!");
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package controller;
2+
3+
import domain.UserInfo;
4+
import org.apache.log4j.Logger;
5+
import org.springframework.stereotype.Controller;
6+
import org.springframework.ui.ModelMap;
7+
import org.springframework.web.bind.annotation.ModelAttribute;
8+
import org.springframework.web.bind.annotation.RequestMapping;
9+
import org.springframework.web.bind.annotation.RequestMethod;
10+
import org.springframework.web.bind.annotation.RequestParam;
11+
import org.springframework.web.multipart.MultipartFile;
12+
13+
import javax.servlet.http.HttpServletRequest;
14+
import java.io.File;
15+
import java.io.FileOutputStream;
16+
import java.io.IOException;
17+
18+
/**
19+
* Created by pengfei on 2017/9/24.
20+
*/
21+
@Controller
22+
@RequestMapping("/account")
23+
public class MyAccountController {
24+
25+
private final static Logger logger = Logger.getLogger(MyAccountController.class);
26+
27+
@RequestMapping("/edit")
28+
public String editAccount() {
29+
return "account/edit";
30+
}
31+
32+
@RequestMapping(value = "/save", method = RequestMethod.POST)
33+
public String saveAccount(@RequestParam(value = "image", required = false) MultipartFile file,
34+
@ModelAttribute("userInfo") UserInfo user, ModelMap model, HttpServletRequest request) throws IOException {
35+
36+
if (file == null || file.isEmpty())
37+
throw new RuntimeException("File cannot be null!");
38+
39+
String rootPath = request.getContextPath();
40+
writeFile(file, rootPath);
41+
42+
String name = user.getName();
43+
String password = user.getPassword();
44+
String email = user.getEmail();
45+
46+
//TODO, save user service call.
47+
48+
model.addAttribute("message", "Save user success!");
49+
50+
return "account/success";
51+
}
52+
53+
private void writeFile(MultipartFile file, String rootPath) {
54+
55+
try {
56+
logger.info("Begin save file");
57+
byte[] fileByte = file.getBytes();
58+
59+
File tempFile = new File(rootPath + "/temp/" + file.getOriginalFilename());
60+
61+
FileOutputStream stream = new FileOutputStream(tempFile);
62+
63+
stream.write(fileByte);
64+
stream.close();
65+
logger.info("End file save!");
66+
} catch (IOException e) {
67+
e.printStackTrace();
68+
}
69+
}
70+
71+
}

src/main/java/domain/UserInfo.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public class UserInfo {
99
private double salary;
1010
private String comment;
1111
private String password;
12+
private String email;
1213

1314
public UserInfo() {
1415

@@ -59,5 +60,13 @@ public void setPassword(String password) {
5960
this.password = password;
6061
}
6162

63+
public String getEmail() {
64+
return email;
65+
}
66+
67+
public void setEmail(String email) {
68+
this.email = email;
69+
}
70+
6271

6372
}

src/main/resources/mybatis/application.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,9 @@
7474
<property name="dataSource" ref="dataSource"/>
7575
</bean>
7676

77+
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
78+
<property name="maxUploadSize" value="204800" />
79+
<property name="resolveLazily" value="true" />
80+
</bean>
81+
7782
</beans>

src/main/resources/spring-mvc/spring-servlet.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
<context:component-scan base-package="controller"/>
99

1010
<mvc:resources mapping="/pages/**" location="WEB-INF/pages/" />
11+
<mvc:resources mapping="/lib/**" location="/lib/" />
12+
<mvc:resources mapping="/favicon.ico" location="lib/" />
1113

1214
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
1315
<property name="prefix" value="/WEB-INF/jsp/"></property>

0 commit comments

Comments
 (0)